我使用GNUEABI遠程調試的ARM設備列表線程/堆棧與GDB,我能夠設置斷點,步驟,查看內存等困難的ARM
...一般的生活好
然而,當斷任意然後鍵入「信息線」我得到線程的列表,但是這些符號的arent解決例如
(gdb) info threads
7 Thread 10283 0x402a42a4 in ??()
6 Thread 10282 0x402a42a4 in ??()
5 Thread 10281 0x401c9d68 in ??()
4 Thread 10280 0x401c9d68 in ??()
3 Thread 10279 0x401cb3f4 in ??()
*2 Thread 10278 0x401cb294 in ??()
1 Thread 10195 0x0001c5e0 in ??()
如果我
設置一個斷點,然後等待它到達所有線程,但具有斷點的線程將如上所述,但如果我嘗試檢查其中一個線程的回溯,則帶有斷點的線程將解析
我看到的是這樣的事情
(gdb) bt
#0 0x003d0f00 in ??()
#1 0x0000027f in ??()
#2 0x00000277 in ??()
#3 0x4360c4e0 in ??()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
注:我不認爲堆棧腐敗,而我認爲GDB想堆棧腐敗有關的問題,並可能暗示?
想法? - 請記住,當斷點觸及調用堆棧時看起來不錯。
查看/ proc//maps以查看這些地址是否在您期望的文件中。如果您使用> O0,您是否有-fno-omit-frame-pointer? (也可能是-mapcs-frame) –
auselen
我想知道你是否在使用正確的'libthread_db'? – jszakmeister