|
如有轉(zhuǎn)載,請注明出處:http://blog.csdn.net/embedded_sky 遇到一個win下面dump的問題,環(huán)境:VS2010 工程中引用了幾個第三方庫libxml 、cjson以及其他的DLL,VS2010單步調(diào)試時提示如下: Windows已經(jīng)在XXX.exe中觸發(fā)一個斷點。 其原因可能是堆被損壞,這說明XXX.exe或它所加載的任何DLL中有BUG。 原因也可能是用在XXX.exe有焦點時按下了F12。 輸出窗口可能提供了更多診斷信息。 輸出窗口提示信息: Critical error detected c0000374 程序中斷處為 memcpy.c 或malloc.c 且調(diào)試時中斷的位置不一樣。最終VS2010單步調(diào)試無法找出bug的位置(還沒有運行到bug處便已經(jīng)中斷) 解決辦法如下:安裝Debug工具gflags(或者下載Windows調(diào)試工具集包含global flags) 打開如下圖: ------>Image File 在Image處輸入鏡像文件名,TAB鍵刷新--->勾選Debugger選項----->輸入vsjitdebugger.exe 后點擊應(yīng)用、確定。 再使用Microsoft Visual Studio2010進行調(diào)試,則可在bug出處中斷程序(不會提前中斷)。 調(diào)試完Bug后應(yīng)關(guān)閉gflags的Debug設(shè)置,否則解決方案編譯出的程序?qū)o法直接運行(只能在Debug模式下運行,無法ctrl+F5運行程序或雙擊exe文件運行程序)。 關(guān)閉global flags Debug設(shè)置只需重新打開gflags在Image File頁取掉Debugger選項,點擊應(yīng)用即可。 |
|
|
來自: 斯人記 > 《玩轉(zhuǎn)電腦》