gdb在Eclipse中失败了

Pau*_*aul 4 eclipse gdb eclipse-cdt scons

这是工具堆栈:安装在Windows 7(x64)上的是带有CDT和SConsolidator插件的Eclipse(Juno x64).下面是安装了64位支持的TDM-GCC(x64)软件包.

如果我构建一个64位应用程序并使用Eclipse(它使用与GCC捆绑的gdb)进行调试,那么它构建时没有错误并且调试很好.

当我构建一个32位应用程序并尝试使用Eclipse调试它时,它构建正常但gdb失败:

gdb: unknown target exception 0x4000001f... 
Run Code Online (Sandbox Code Playgroud)

通过命令行使用相同的gdb进行调试工作正常.

关于如何解决这个问题的任何想法?

仅供参考:以下是导致gdb异常的一些警告:

warning: `C:\Windows\system32\ntdll.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64win.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64cpu.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: Could not load shared library symbols for ntdll32.dll.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for WOW64_IMAGE_SECTION.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for WOW64_IMAGE_SECTION.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for NOT_AN_IMAGE.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for NOT_AN_IMAGE.
Do you need "set solib-search-path" or "set sysroot"?
Run Code Online (Sandbox Code Playgroud)

小智 7

我在不同的场景中遇到了类似的问题,但我认为解决方案也适用于此.

我是从http://www.equation.com/servlet/equation.cmd?fa=gdb下载的gdb.exe 来调试C++程序.我第一次尝试64位,因为我的电脑是64位但我得到了与保罗上面相同的错误.然后我尝试了32位gdb.exe,它的工作原理.

我也按照保罗给出的链接,也有32位的捆绑.所以我假设捆绑包取决于应用程序的类型而不是平台的配置.但是,我怀疑64位捆绑包将适用于32位架构.我没试过,也不能说肯定.

我建议安装支持32位的软件包来调试32位应用程序.