• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            自己創建 minidump

            以前曾寫過一個 bugslayer.dll 的介紹. 在程序出錯時將調用棧寫到文件. 覺得不錯. 后來開始用 windbg. 知道了 userdump. 知道了如何調試 dump... 才知道程序崩潰的時候寫 dump 文件其實可以獲取比調用棧多得多的信息

            如果你的程序什么都不干. 那么在程序出錯的時候. drwtsn32.exe 會寫一個 userdump. drwtsn32 有些缺點. 比如只能寫一個 dump 文件. 后面的崩潰寫 dump 文件時會覆蓋前面的. win2000 下的 drwtsn32 只能寫舊式的 dump 文件(往往尺寸比較大). 有一篇文章論述的比較清楚:
             http://www.debuginfo.com/articles/ntsdwatson.html

            建議使用 ntsd 代替 drwtsn32. ntsd 的缺點就是需要安裝最新的 windbg. 這是一個硬傷. 在看了 debuginfo.com 的另一篇文章:
             http://www.debuginfo.com/articles/effminidumps.html
             
            之后, 我選擇的是在程序出錯的時候調用 api 自己寫 minidump. 克服了 drwtsn32, ntsd 的缺點.
            將封裝好的函數放到了一個頭文件中, 包含即可. 使用的方法很簡單:

            #include <windows.h>
            #include "minidump.h"
            LONG __stdcall MyUnhandledExceptionFilter(PEXCEPTION_POINTERS pExceptionInfo)
            {
            CreateMiniDump(pExceptionInfo, "c:\\user.dmp");
            return EXCEPTION_EXECUTE_HANDLER;
            }

            void main()
            {
            SetUnhandledExceptionFilter(MyUnhandledExceptionFilter);
            *(int*)0=0; // AV
            }

            這樣就好了. 注意安裝至少 xp 以上的 sdk.
            這里用到了一個 api SetUnhandledExceptionFilter(), 如果不明白可以搜一下 msdn.
            運行例子程序出錯退出之后, 就得到了 c:\\user.dmp. 可以用 windbg 等調試器來分析了

            代碼從這里下載 http://nicoster.googlepages.com/minidump.rar

             

            posted on 2009-10-21 18:50 肥仔 閱讀(1142) 評論(0)  編輯 收藏 引用 所屬分類: 調試

            思思久久99热只有频精品66| 久久久精品国产免大香伊| 精品久久久久久久| 亚洲国产成人久久精品动漫| 久久一区二区三区99| 久久亚洲sm情趣捆绑调教| 亚洲欧美日韩久久精品第一区| 国产成人久久精品激情| 久久e热在这里只有国产中文精品99 | 久久久女人与动物群交毛片| 日本一区精品久久久久影院| 亚洲国产视频久久| 久久不射电影网| 日韩欧美亚洲综合久久| 大美女久久久久久j久久| 日韩av无码久久精品免费| 国产精品久久久久久久久久免费| 久久精品国产日本波多野结衣 | 中文字幕亚洲综合久久菠萝蜜| 久久久久精品国产亚洲AV无码| 2020最新久久久视精品爱 | 狠狠色丁香久久婷婷综合蜜芽五月 | 国产精品美女久久久| 久久丫忘忧草产品| 久久久久香蕉视频| 亚洲午夜久久影院| 久久精品男人影院| 久久精品夜夜夜夜夜久久| 少妇无套内谢久久久久| 午夜视频久久久久一区 | 久久精品成人免费观看97| 国产精品毛片久久久久久久| 伊人久久大香线焦AV综合影院| 久久国产精品二国产精品 | 中文字幕无码久久人妻| 国产激情久久久久影院小草 | 久久精品中文字幕一区| 国产午夜精品久久久久九九电影| 99久久99久久精品国产片| 99久久免费国产精精品| 久久91精品国产91久久麻豆 |