GDB 的哀叹:解决缺少 raise.c 的难题
捕获异常时,GDB 中可能会出现一个恼人的错误,调试器感叹缺少“raise.c”。为了解决这个问题,让我们深入研究问题的根源及其解决方案。
根本原因
缺少的“raise.c”文件对于 GDB 至关重要在调试期间提供准确的源代码行信息。如果没有它,GDB 默认位置不确定,从而导致错误消息混乱。
分步解决方案
要有效解决此问题,请按照以下综合步骤操作:
-
安装 Debuginfo 包: 确保 C 库的 debuginfo 版本(“libc6-dbg”)已安装。
-
启用源代码包:通过安装“dpkg-dev”包并检查 deb 来准备 Ubuntu 包系统来处理源代码包“/etc/apt/sources.list”中的 -src 行未注释。
-
下载源代码: 通过创建目录(例如“/opt/src”)、运行“apt source libc6”并识别源代码所在的目录(例如“ /opt/src/glibc-2.23")。
-
指定源代码位置: GDB 期望源代码位于特定位置地点。使用“gdb”命令(如“info source”)确定预期目录。如果实际目录与预期目录不同,请使用“set replacement-path /build/glibc-KM3i_a/glibc-2.23 /opt/src/glibc-2.23.”更新 GDB 的路径。
结论
通过遵守这些步骤,GDB 关于丢失源文件的抱怨将被静音,允许无缝调试异常。您现在可以自信地深入 C 库代码,确保准确诊断和解决运行时问题。
以上是为什么 GDB 在捕获异常时会喊'Missing raise.c”?的详细内容。更多信息请关注PHP中文网其他相关文章!