當前我們呼叫MiniDumpWriteDump
與MiniDumpNormal | MiniDumpWithIndirectlyReferencedMemory
標誌。這對Debug配置中的內部構建來說很好,但在Release配置中沒有提供足夠的信息。Minidumps應該使用什麼設置?
在發行版中,小型轉儲數據包含足夠的堆棧信息,供調試器計算故障發生代碼的位置,但沒有其他數據。我不是簡單的意思是因爲被優化而丟失局部變量,就像你期望在Release版本中所期望的那樣 - 我的意思是除了調用堆棧和當前代碼行之外沒有任何用處。沒有寄存器,沒有本地人,沒有全局變量,沒有本地人指向的對象 - 什麼也沒有。我們甚至沒有得到「這個」,這將允許我們查看當前的對象。這是使用MiniDumpWithIndirectlyReferencedMemory
的要點 - 它應該包含由本地和堆棧變量引用的內存,但似乎沒有。
我們應該使用什麼樣的標誌?我們不想使用MiniDumpWithFullMemory
並開始生成600MB +轉儲,但是如果它意味着獲得更多有用的數據,它將會愉快地將轉儲擴展到超出我們目前獲得的90KB。也許我們應該使用MiniDumpWithDataSegments
(全局變量)或...?
發生什麼樣的異常會導致程序崩潰? – HelloWorld 2015-10-01 13:47:56