4

ツール スタックは次のとおりです。 Windows 7 (x64) にインストールされているのは、CDT とSConsolidatorプラグインを備えた Eclipse (Juno x64)です。その下には、64 ビットをサポートするようにインストールされたTDM-GCC (x64) バンドルがあります。

64 ビット アプリケーションをビルドし、Eclipse (GCC にバンドルされている gdb を使用) を使用してデバッグすると、エラーなくビルドされ、正常にデバッグされます。

32 ビット アプリケーションをビルドして Eclipse でデバッグしようとすると、正常にビルドされますが、gdb は失敗します。

gdb: unknown target exception 0x4000001f... 

コマンドライン経由で同じ 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"?
4

1 に答える 1

7

別のシナリオでも同様の問題がありましたが、ここでも解決策が適用できるはずです。

C++ プログラムをデバッグするために、 http: //www.equation.com/servlet/equation.cmd?fa= gdb から gdb.exe をダウンロードしました。私のPCは64ビットなので、最初に64ビットを試しましたが、ポールが上で得たのと同じエラーが発生しました。次に、32ビットのgdb.exeを試してみましたが、うまくいきました。

また、Paul から提供されたリンクをたどったところ、32 ビットで利用できるバンドルもありました。したがって、バンドルはプラットフォームの構成ではなく、アプリケーションの種類に依存すると思います。しかし、64 ビット バンドルが 32 ビット アーキテクチャで動作するとは思えません。私はそれを試していないので、確かなことは言えません。

32 ビット アプリケーションをデバッグするには、32 ビットをサポートするバンドルをインストールすることをお勧めします。

于 2012-10-09T21:49:21.270 に答える