首页 > 后端开发 > C++ > 为什么 GDB 在捕获异常时会喊'Missing raise.c”?

为什么 GDB 在捕获异常时会喊'Missing raise.c”?

Susan Sarandon
发布: 2024-11-08 21:11:02
原创
412 人浏览过

Why Does GDB Cry

GDB 的哀叹:解决缺少 raise.c 的难题

捕获异常时,GDB 中可能会出现一个恼人的错误,调试器感叹缺少“raise.c”。为了解决这个问题,让我们深入研究问题的根源及其解决方案。

根本原因

缺少的“raise.c”文件对于 GDB 至关重要在调试期间提供准确的源代码行信息。如果没有它,GDB 默认位置不确定,从而导致错误消息混乱。

分步解决方案

要有效解决此问题,请按照以下综合步骤操作:

  1. 安装 Debuginfo 包: 确保 C 库的 debuginfo 版本(“libc6-dbg”)已安装。
  2. 启用源代码包:通过安装“dpkg-dev”包并检查 deb 来准备 Ubuntu 包系统来处理源代码包“/etc/apt/sources.list”中的 -src 行未注释。
  3. 下载源代码: 通过创建目录(例如“/opt/src”)、运行“apt source libc6”并识别源代码所在的目录(例如“ /opt/src/glibc-2.23")。
  4. 指定源代码位置: 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板