仅从程序计数器获取代码行信息?

时间:2012-06-03 19:13:07

标签: c debugging cpu-registers postmortem-debugging

首先,我不能使用调试器[1]。但我可以访问程序的程序计数器,也可以用我需要的所有标志编译二进制文件(用C语言编写)。我甚至可以改变代码(虽然我不喜欢)。鉴于PC,我希望能够知道它对应哪一行。

我确信必须有一种自动,实用,快捷的方法来实现这一目标。但我没有成功。

编辑:忘记提及:Linux系统,二进制文件是PPC,主机是i386。我可以访问PPC硬件。

[1]正在模拟应用程序,它是交叉编译的,我在主机模拟器中有一个gdb。但我无法在模拟的来宾应用程序上连接gdbserver。真正的硬件不是一个选项,我正在尝试基于模拟器构建一个模拟器。

1 个答案:

答案 0 :(得分:2)

如果使用调试信息编译二进制文件,则可以通过浏览包含调试信息的ELF部分,使用PC在源中找到正确的位置。然而,自动化,快速和实用并不是这个过程的首要考虑因素!