2009-08-23 98 views
0

我想知道你們用什麼策略來修復運行時錯誤?真的很感激,如果你可以分享一些提示!解決運行時錯誤的策略

下面是我的一些想法(可能用gdb的幫助下):

時發生運行時錯誤,因爲一些內存訪問錯誤,存儲在轉儲核心的地址表示將記憶是什麼?

如果我能找到被訪問的地址/內存導致運行時錯誤,是否有可能找出哪個變量正在使用該地址(可能位於變量的內存的中間或中間)?並找出附近的變量,將內存下降到內存塊的正上方。

如果所有這些都是可能的,它是否有助於修復錯誤?

感謝和問候!

回答

1

我使用gdb的--args選項從命令行啓動我的程序。

實施例:

gdb --args foocode --with-super-awesome-option 
run 

這將加載程序foocode和--with超真棒選項參數傳遞給它。當程序失敗時,您將擁有一個可立即使用的gdb會話。

從那裏,你可以使用回溯命令:

bt 

這會告訴你,導致你崩潰事件(函數調用)的鏈。