是否有可能使用x86上的(類似於AMD64)讓gdb成功展開使用gcc編譯的代碼堆棧?如果是這樣,那麼需要什麼來實現這個工作?在x86上沒有幀指針的堆棧展開
只是要清楚:我可以重新編譯,所以編譯器選項是確定的,但我不能禁用忽略幀指針。
是否有可能使用x86上的(類似於AMD64)讓gdb成功展開使用gcc編譯的代碼堆棧?如果是這樣,那麼需要什麼來實現這個工作?在x86上沒有幀指針的堆棧展開
只是要清楚:我可以重新編譯,所以編譯器選項是確定的,但我不能禁用忽略幀指針。
我一直在尋找的編譯器選項是-fasynchronous-unwind-tables
可以接受你自己的答案。我認爲你應該在這種情況下。 – jszakmeister 2013-04-06 08:59:56
完成,謝謝。主要是等待停電期過期 – shroudednight 2013-04-09 15:03:39
爲什麼你不能刪除您編譯器選項'-fomit-幀pointer'?您顯然希望要求編譯器刪除幀指針並不刪除它:與您的部分相矛盾!如果使用'-fomit-frame-pointer'編譯代碼,會發生什麼情況? – 2013-04-05 20:43:29
@BasileStarynkevitch決定在x86上編譯時沒有幀指針。雖然我可以親自使用幀指針編譯本地實例,但在嘗試調試使用集中構建的二進制文件的測試失敗時無濟於事。 – shroudednight 2013-04-05 21:01:34