Spl*_*iFF 5 debugging gdb cross-compiling
这是一个问题,但基本上我想知道我是否可以在Linux交叉编译器上编译到i686-pc-mingw的应用程序上使用GDB.我想在目标窗口框中调试生成的程序,包含源代码引用等.
是否可能,如果是这样,我需要考虑什么(即相同版本的mingw文件,相同的binutils,相同的源代码相对路径等)?
有点让我感到震惊的是GCC和GDB的版本号似乎不匹配.你怎么知道版本是否兼容?
如果这些问题听起来很愚蠢,那只是因为我没有太多使用GDB,这只是我想要开始做的事情,所以我不是想猜测是什么破坏了.
是的,您应该能够在Linux主机上使用GDB来调试运行的可执行文件i686-pc-mingw
.
术语:i686-pc-mingw
系统是您的目标,Linux
系统是您的主机.
linux
目标的主机编译器
i686-pc-mingw
.gdbserver
为目标构建一个
(使用交叉编译器).gdb
(使用本机,而不是交叉编译器).这gdb
需要配置--host=x86-linux
和--target=i686-pc-mingw
.这实际上是跨gdb - 它在Linux上运行,但调试mingw可执行文件.现在运行gdbserver :0 foo.exe
(在目标上).这应该打印一个gdbserver
正在侦听连接的端口号.
运行gdb foo.exe
(在主机上),并连接到远程目标target remote <windows-target-host-name>:<gdbserver-port-number>
,您应该开展业务.
PS
GCC和GDB是完全独立的项目,它们的版本彼此没有任何关系.您应该能够使用任何相对较新的GCC版本构建GDB.
归档时间: |
|
查看次数: |
2908 次 |
最近记录: |