首页  >  文章  >  后端开发  >  为什么即使我捕获到异常,GDB 也会抛出有关缺少 raise.c 文件的错误?

为什么即使我捕获到异常,GDB 也会抛出有关缺少 raise.c 文件的错误?

Patricia Arquette
Patricia Arquette原创
2024-11-10 06:57:02969浏览

Why is GDB throwing an error about a missing raise.c file even though I'm catching an exception?

GDB 错误:缺少 raise.c 文件

运行 GDB 调试程序时,用户可能会遇到错误消息,抱怨缺少 raise.c 文件raise.c 文件。尽管捕获了异常,但还是会发生这种情况。要解决此问题,需要准备 GDB 以对 C 库进行完整源代码调试。

  1. 安装 Debuginfo 版本的 Libc6:

    如果尚未安装,请安装 libc6 的 debuginfo 版本使用:

    sudo apt install libc6-dbg
  2. 准备包系统:

    确保包系统可以通过以下方式处理源代码包:

    • 安装 dpkg-dev: sudo apt install dpkg-dev
    • 检查 /etc/apt/sources.list 中的 deb-src 行(必要时取消注释)
    • 更新存储库: sudo apt update
  3. 下载源码代码:

    • 创建一个目录(例如/opt/src)
    • 下载已安装的C库版本的源代码:

      cd /opt/src
      apt source libc6
    • 记下目录名称(例如, /opt/src/glibc-2.23)
  4. 配置 GDB:

    通过运行确定 GDB 需要源代码的目录(gdb) GDB 内的信息源。使用 (gdb) set replacement-path 指定正确的目录路径或将源代码移动到预期位置。

以上是为什么即使我捕获到异常,GDB 也会抛出有关缺少 raise.c 文件的错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn