如何将未经剥离的二进制符号赋予gdb?

时间:2016-08-23 11:43:57

标签: gdb

我有:

  • 正在运行的剥离二进制文件
  • GDB
  • 未提取的二进制文件

我可以连接到运行剥离的二进制文件(chrome_debug.log)。如何将未经剥离的二进制符号赋予连接到正在运行的进程的gdb?

1 个答案:

答案 0 :(得分:2)

有两种主要方法可以做到这一点。

一种方法是在未提取的可执行文件上启动gdb,然后附加:

<div>

这种方式很简单!但是它有一个隐藏的危险,即你可能会意外地使剥离和未剥离的程序不匹配,导致调试会话非常混乱。

另一种方法是在剥离时花时间将调试信息正确地拆分为单独的文件。有一些instructions in the gdb manual

使用此方法,请务必使用build-id功能。如果你这样做,那么你可以简单地将gdb指向你的单独调试信息的存档,gdb将自动获取正确的信息。

这种方法的主要优点是避免了debuginfo不匹配的可能性。 FWIW这是发行版用于构建debuginfo档案的内容。