我需要使用gdb调试一个被gcc编译过且带有调试选项的程序。我的问题是源代码不在我用来调试和运行该程序的同一台机器上,因此我无法使用远程gdb调试。在gdb中前进时是否有一种方法可以知道行/文件位置?还有其他解决这个问题的方法吗?
谢谢。
谢谢。
objdump -d
显示所有内容。然后在main
函数处使用断点运行gdb
,并使用ni
来运行下一条指令(汇编)。哦,不要忘记启用display $pc
会有所帮助。restore to C code
功能。然后将核心转储文件传输到其他机器,其中您获得了源代码,并使用coredump文件运行gdb以确定在哪个代码中出现分段错误。ulimit -c无限
info line
,它可以显示源文件的位置,即使gdb没有找到源文件。这个解决方法对我来说似乎还不错。