2013-04-05 63 views
3

是否有可能使用x86上的(類似於AMD64)讓gdb成功展開使用gcc編譯的代碼堆棧?如果是這樣,那麼需要什麼來實現這個工作?在x86上沒有幀指針的堆棧展開

只是要清楚:我可以重新編譯,所以編譯器選項是確定的,但我不能禁用忽略幀指針。

+0

爲什麼你不能刪除您編譯器選項'-fomit-幀pointer'?您顯然希望要求編譯器刪除幀指針並不刪除它:與您的部分相矛盾!如果使用'-fomit-frame-pointer'編譯代碼,會發生什麼情況? – 2013-04-05 20:43:29

+0

@BasileStarynkevitch決定在x86上編譯時沒有幀指針。雖然我可以親自使用幀指針編譯本地實例,但在嘗試調試使用集中構建的二進制文件的測試失敗時無濟於事。 – shroudednight 2013-04-05 21:01:34

回答

2

我一直在尋找的編譯器選項是-fasynchronous-unwind-tables

+0

可以接受你自己的答案。我認爲你應該在這種情況下。 – jszakmeister 2013-04-06 08:59:56

+0

完成,謝謝。主要是等待停電期過期 – shroudednight 2013-04-09 15:03:39