我正在开发一个相对较老的Centos系统,我可以安装的软件包受限制。我需要一个更新版本的gdb,所以我在家里的dir中成功构建了它。这个gdb很好地完成了我的代码,但我正在寻找在C ++分配器(mt_allocator.cc)中出现的麻烦,而这个新版本的gdb无法单步执行该代码。我可以在那里成功破解一个功能:
break '__gnu_cxx::__pool<true>::_M_initialize()'
但是当该断点命中并且我尝试单步执行代码时,gdb告诉我:
Single stepping until exit from function _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv,
which has no line number information.
我尝试在gdb中使用dir
命令添加mt_allocator.cc所在的路径,但这没有效果。
我需要告诉gdb以便找到这些文件吗?
答案 0 :(得分:1)
set debug-file-directory /usr/lib/debug
在gdb中完成它。