0
當試圖用gdb運行一個程序,我得到GDB:未知的目標異常
[New Thread 4612.0x158c]
[New Thread 4612.0x1cb8]
[New Thread 4612.0x11e8]
[New Thread 4612.0x1190]
gdb: unknown target exception 0x406d1388 at 0x746623d2
Program received signal ?, Unknown signal.
0x746623d2 in RaiseException() from /cygdrive/c/WINDOWS/System32/KERNELBASE.dll
我研究了這一點,並發現了三個可能的原因:(1)未設置PATH環境變量,(2)驅動器沒有映射,和(3)使用錯誤版本的gdb(32位或64位)。所以我加了C:\ Cygwin的\ bin添加到PATH環境變量中,鍵入安裝並獲得
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on/type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto)
當我鍵入顯示的配置得到
This GDB was configured as follows:
configure --host=i686-pc-cygwin --target=i686-pc-cygwin
--with-auto-load-dir=$debugdir:$datadir/auto-load
--with-auto-load-safe-path=$debugdir:$datadir/auto-load
--with-expat
--with-gdb-datadir=/usr/share/gdb (relocatable)
--with-jit-reader-dir=/usr/lib/gdb (relocatable)
--without-libunwind-ia64
--with-lzma
--with-python=/usr (relocatable)
--without-guile
--with-separate-debug-dir=/usr/lib/debug (relocatable)
--without-babeltrace
和我的電腦是32位的,所以它似乎是正確的版本。
gdb本身似乎工作,例如,我可以輸入手錶,然後輸入地址,它會設置一個觀察點; gcc和g ++工作正常,我正在調試的程序將從命令行運行,但不是從gdb運行。
我應該檢查什麼其他東西?
感謝您的回覆。我使用其他調試技術修復了這個錯誤,但我會注意到這一點以備將來使用。我現在不想安裝另一個版本的gdb,因爲我不想像我過去那樣無意中啃我的Cygwin版本。 –