首先,我不能使用调试器[1]。但我可以访问程序的程序计数器,也可以用我需要的所有标志编译二进制文件(用C语言编写)。我甚至可以改变代码(虽然我不喜欢)。鉴于PC,我希望能够知道它对应哪一行。
我确信必须有一种自动,实用,快捷的方法来实现这一目标。但我没有成功。
编辑:忘记提及:Linux系统,二进制文件是PPC,主机是i386。我可以访问PPC硬件。
[1]正在模拟应用程序,它是交叉编译的,我在主机模拟器中有一个gdb。但我无法在模拟的来宾应用程序上连接gdbserver。真正的硬件不是一个选项,我正在尝试基于模拟器构建一个模拟器。
答案 0 :(得分:2)
如果使用调试信息编译二进制文件,则可以通过浏览包含调试信息的ELF部分,使用PC在源中找到正确的位置。然而,自动化,快速和实用并不是这个过程的首要考虑因素!