IsBadReadPtr|IsBadWritePtr調試崩潰
睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接
遇到一未找到必然出現條件的崩潰,不知道什么時候能觸發崩潰,崩潰dump顯示,試圖訪問了非法的內存或者寫入了非法的內存
此時如下兩個函數就比較有用了:
[cpp] view plaincopy
- BOOL WINAPI IsBadReadPtr(
- __in const VOID *lp,
- __in UINT_PTR ucb
- );
- BOOL WINAPI IsBadWritePtr(
- __in LPVOID lp,
- __in UINT_PTR ucb
- );
可以用這兩個函數在崩潰附近的地方加上判斷,附加進程打斷點或者記日志,運行程序崩潰的時候會立馬斷下來,這是就很容易分析崩潰的原因了!
經驗:不容易必然重現的崩潰,在分析dump毫無頭緒的情況下,思路應該是,1>從dump與日志分析,努力尋找必然崩潰的條件,2,增加必然崩潰的代碼,分析dump
RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成