1
分析一個核心轉儲文件時,我如何看到這些值被優化了? 有沒有辦法讓他們存儲在寄存器?gdb coredump:「value has been optimized out」
分析一個核心轉儲文件時,我如何看到這些值被優化了? 有沒有辦法讓他們存儲在寄存器?gdb coredump:「value has been optimized out」
如果您正在尋找一個核心,那麼某些值可能已經太晚,因此某些值會進行優化。最簡單的是,如果您可以在啓用調試的情況下定期複製內核。但是,如果你不能,我已經有一個好運的招數就是進一步向上調用堆棧,並嘗試通過更多級別的間接尋找有趣的數據(例如,如果向上移動調用堆棧,或許您需要的指針位於內存位置,而不是丟失的寄存器中)。
最好的選擇是關閉優化,如果可以的話。否則,這個答案可能會有幫助嗎? http://stackoverflow.com/a/1350436/1212725 – bruceg