情况如下:
我有一个崩溃的 linux 二进制文件。没有日志文件、跟踪文件等。我需要能够将调试器附加到它(我在本地有源)并跟踪错误。
解决这个问题的最简单、最好的方法是什么?
情况如下:
我有一个崩溃的 linux 二进制文件。没有日志文件、跟踪文件等。我需要能够将调试器附加到它(我在本地有源)并跟踪错误。
解决这个问题的最简单、最好的方法是什么?
远程调试相当简单:在目标平台上,使用 GDBserver 启动应用程序,同时指定用于侦听传入 TCP 连接的主机和端口:
gdbserver HOST:PORT PROG [ARGS ...]
在开发工作站上,启动跨目标 GDB:
powerpc-7450-linux-gnu-gdb PROG
请务必指定未剥离的可执行文件。在 GDB 控制台中,键入:
target remote HOST:PORT
break main
continue
看起来 gdb 支持远程调试。
我从未使用过它,但http://davis.lbl.gov/Manuals/GDB/gdb_17.html看起来像是一个开始。
基本上,您在目标机器上的 gdbserver 下运行程序,gdb 连接(通过 TCP 或串行)到 gdbserver。