我有:
我可以连接到运行剥离的二进制文件(chrome_debug.log
)。如何将未经剥离的二进制符号赋予连接到正在运行的进程的gdb?
答案 0 :(得分:2)
有两种主要方法可以做到这一点。
一种方法是在未提取的可执行文件上启动gdb,然后附加:
<div>
这种方式很简单!但是它有一个隐藏的危险,即你可能会意外地使剥离和未剥离的程序不匹配,导致调试会话非常混乱。
另一种方法是在剥离时花时间将调试信息正确地拆分为单独的文件。有一些instructions in the gdb manual。
使用此方法,请务必使用build-id功能。如果你这样做,那么你可以简单地将gdb指向你的单独调试信息的存档,gdb将自动获取正确的信息。
这种方法的主要优点是避免了debuginfo不匹配的可能性。 FWIW这是发行版用于构建debuginfo档案的内容。