gdb调试

作者: 大明白 | 来源:发表于2018-05-30 22:01 被阅读14次

【1】如果gdb这个时候告诉你找不到这个带调试信息库的源文件路径,此时给出的路径地址是绝对路径,比如

/home/rickyk/qt-4.8.6/src/corelib/tools/qstring.cpp: 没有那个文件或目录
这种提示的,你就应该用gdb提供的

set substitute-path

这个其实很好理解,就是替换规则,你如果想查看当前的替换规则,你可以

show substitute-path

比如此时我们需要qstring.cpp这个文件,但由于某种原因,目前我们不能在/home/rickyk/qt-4.8.6/src/corelib/tools/qstring.cpp中找到,但我们确可以在/home/rickyk/qt-everywhere-opensource-src-4.8.6/src/corelib/tools/qstring.cpp中找到,我们就

set substitute-path /home/rickyk/qt-4.8.6 /home/rickyk/qt-everywhere-opensource-src-4.8.6

【2】如果此时的gdb弹出的错误信息不是绝对路径的概念,而是相对路径的概念

./a.cpp 没有那个文件或目录
那么此时你可以用gdb的第二个源代码路径法宝----directory(dir) dirName来指定,也就是说如果我们此时的a.cpp不在当前目录下,而是在当前目录下的bak文件夹下,我们只要

dir bak

这个时候我们的gdb就会把你加进去的dir整个替换到相对路径的前面,自己做拼接,也就是说,现在的./a.cpp变成了./bak/a.cpp

注意两者的差别, 对于绝对路径来说,你需要给出替换规则给他做字符串替换,对于相对路径来说,你需要给他目录来让他做拼接, 也有点prefix的意思,这里的prefix由你给出,但相对路径整体结构由gdb给出,然后完成拼接操作。

相关文章

  • 2. gdb的使用

    参考链接1. GDB调试2. gdb调试方法3. gdb调试示例 1. 说说 gdb gdb 是一款 UNIX 系...

  • gcc常用命令

    gdb相关 gcc加-g才能使用gdb调试gdb -tui a.out打开调试界面run/stop/continu...

  • GDB调试记录

    gdb attach 15343 # 调试某个进程 GNU gdb (GDB) 7.12Copyrigh...

  • gdb调试基本方法

    gdb调试基本方法 gdb调试常用命令 在GDB中运行程序 断点(BreakPoint) 观察点(WatchPoi...

  • GDB命令

    gdb test 启动gdb调试test可执行文件gdb att 进程名 调试某个进程b [行数]/[函数名...

  • Xcode debug Hotspot(一)——创建Xcode项

    概述 前面安装gdb调试hotspot里面,我记录了自己安装gdb调试hotspot的过程。后来我发现,使用gdb...

  • 【实践】gdb调试golang程序入门及gdb命令列表

    1. 摘要 本文讲解gdb调试GOLANG程序的入门配置,以及gdb命令详解备忘。 2. gdb调试go程序入门...

  • 用gdb调试代码

    title: 用gdb调试代码tags: gdbdate: 2017-08-09 15:09:22 gdb调试 开...

  • PWN入门到放弃

    Linux下的pwn常用到的工具有: gdb:Linux调试中必要用到的 gdb-peda:gdb方便调试的工具,...

  • 使用GDB调试C++程序

    GDB调试利器 GDB, the GNU Project debugger, allows you to see ...

网友评论

      本文标题:gdb调试

      本文链接:https://www.haomeiwen.com/subject/cpzxsftx.html