我正在Windows上运行Eclipse,以开发在远程Linux系统上构建和测试的C代码。目前,该代码从未在Windows上编译过。
我能够使用CDT在gdbserver下在Linux目标上开始远程进程,然后从Windows主机附加gdb。但是,gdb立即失败,错误如下:
warning: A handler for the OS ABI "GNU/Linux" is not built into this configuration
of GDB. Attempting to continue with the default i386 settings.
[...]
Remote 'g' packet reply is too long: 74afe9bff0aee9bf02000000f4af4a00a0aee9bf[...]两个Linux系统之间的调试工作正常,所以很明显,我在Windows主机端做了一些错误的事情。我的具体问题是:
谢谢,
-R
更多信息: 紧急常见问题提供了一些提示,但不幸的是,我仍然被阻塞。FAQ描述了两种方法:
我也提高了CDT论坛上的这个问题。
发布于 2013-03-10 17:32:03
使用gcc/gdb建立交叉编译或交叉调试环境是一个非常困难的问题,它几乎不是最有效的解决方案。将linux放在您的windows机器上,并在那里进行调试,所做的工作要少得多。如果您真的需要调试“那边”,我建议您只使用ssh-ing并使用命令行gdb。如果您不能在那里拥有源代码,那么从您控制的linux中进行远程调试将是可行的。
发布于 2017-12-15 11:34:41
只需重建gdb与目标平台支持。你可以用Cygwin来做这个。RHEL目标平台示例:
> wget http://ftp.gnu.org/gnu/gdb/gdb-<ver>.tar.xz
> tar -xJvf gdb-<ver>.tar.xz
> mkdir -p gdb-<ver>/build/x86_64-redhat-linux-gnu
> cd gdb-<ver>/build/x86_64-redhat-linux-gnu
> ../../configure --target=x86_64-redhat-linux-gnu
> make && make install
> x86_64-redhat-linux-gnu-gdb.exe --version不要忘记在此之后重新配置您的工具链。要获得目标配置名称,可以使用:
> echo ${BASH_VERSINFO[5]}发布于 2015-07-28 14:45:55
现在有一个插件http://marketplace.eclipse.org/content/direct-remote-c-debugging
它允许您通过ssh远程在服务器上启动gdb。它关注路径映射和其他事情。
您不需要gdb服务器远程运行
https://stackoverflow.com/questions/3502509
复制相似问题