美文网首页
gdb debuginfo

gdb debuginfo

作者: grimlock44 | 来源:发表于2019-06-20 12:26 被阅读0次

gcc/g++ 加-g选项编译程序mypro, 依次执行以下命令:

objcopy --only-keep-debug mypro mypro.debuginfo
objcopy --strip-debug mypro
objcopy --add-gnu-debuglink=mypro.debuginfo mypro

只需要把mypro 和 mypro.debuginfo 复制到客户机器上就可以调试了。

遇到问题: 当myproc是静态编译时,myproc多线程无法调试。

解决方法: 编译机器和客户机器上的libthread_db.so.1不一致导致。 复制编译机器的libthread_db.so.1到客户机器上

开gdb, 设置set libthread-db-search-path libthread_db路径, 设置add-auto-load-safe-path libthread_db路径,就可以了

GDB之所以可以查看到源代码,是因为它知道源代码放在哪里。
在一个调试会话中,GDB维护了一个源代码查找目录列表,默认值是编译目录和当前工作目录。当GDB需要一个源文件的时候,它依次在这些目录中查找,直到找到一个或者抛出错误。
GDB还维护了一个路径替换规则,将要搜索的原始路径按照找到的第一个规则做前缀替换,然后再在源码搜索目录中查找文件。
GDB允许明确指定源代码位置,或者路径替换规则,以应付源代码位置迁移的情况。
directory path-list:将一个或者多个源代码搜索目录加入到当前源码搜索目录列表的前面,目录之间使用空格间隔。
directory:不带参数的directory将源码搜索目录恢复为默认值。
set directories path-list:将源码目录设置为path-list,但是会补上默认目录。
show directories:显示源码搜索目录列表。
set substitute-path from to:设置目录替换规则,放置在规则列表的末端。
unset substitute-path [path]:删除path对应的替换规则,或者删除所有的替换规则。
show substitute-path [path]:显示path对应的替换规则,或者显示所有的替换规则。

相关文章

  • gdb debuginfo

    gcc/g++ 加-g选项编译程序mypro, 依次执行以下命令: objcopy --only-keep-deb...

  • GDB调试环境配置

    GDB调试环境配置 GDB安装 在调试的时候,会提示如下信息 首先需要修改CentOS-Debuginfo.rep...

  • 深入理解debuginfo(转载)

    一、关于debuginfo的疑惑程序员应该都知道,为了能够使用gdb跟踪程序,需要在编译期使用gcc的-g选项。而...

  • debuginfo-install不生效

    修改/etc/yum.repos.d/CentOS-Debuginfo.repo

  • gdb调试

    gdb安装 安装gdb 在钥匙管理器中新建证书 配置gdb证书 添加gdb初始化文件 .gdbinit gdb 命...

  • Debugging with GDB

    Debugging with GDB GDB@wiki(GNU Debugger)GDB is a portabl...

  • GDB 配置

    摘要:调试器 GDB 的配置 GDB 配置 使用 GDB 扩展来配置 GDB 事实上我还是觉得原生的 GDB 就...

  • 2. gdb的使用

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

  • GDB调试记录

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

  • 自定义安装 kernel-debuginfo

    kernel-debuginfo用于LiME、Crash、Volatility等DUMP、分析内存的软件。 仓库地...

网友评论

      本文标题:gdb debuginfo

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