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