• <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

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            自己創(chuàng)建 minidump

            以前曾寫過一個(gè) bugslayer.dll 的介紹. 在程序出錯(cuò)時(shí)將調(diào)用棧寫到文件. 覺得不錯(cuò). 后來開始用 windbg. 知道了 userdump. 知道了如何調(diào)試 dump... 才知道程序崩潰的時(shí)候?qū)?span lang=EN-US> dump 文件其實(shí)可以獲取比調(diào)用棧多得多的信息

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

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

            #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.
            這里用到了一個(gè) api SetUnhandledExceptionFilter(), 如果不明白可以搜一下 msdn.
            運(yùn)行例子程序出錯(cuò)退出之后, 就得到了 c:\\user.dmp. 可以用 windbg 等調(diào)試器來分析了

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

             

            posted on 2009-10-21 18:50 肥仔 閱讀(1145) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 調(diào)試

            久久这里只精品国产99热| av无码久久久久不卡免费网站| 久久综合一区二区无码| 欧美日韩精品久久久久| 久久精品蜜芽亚洲国产AV| 91久久国产视频| 97精品国产97久久久久久免费 | 一本色道久久88加勒比—综合| 国产精品99久久久久久宅男| 久久久久国产精品嫩草影院| 免费国产99久久久香蕉| 99精品国产综合久久久久五月天| 99久久综合狠狠综合久久| 久久精品国产男包| 欧美色综合久久久久久| 伊人久久大香线焦综合四虎| 亚洲国产精品无码久久一区二区 | 久久人做人爽一区二区三区| 91亚洲国产成人久久精品网址| 久久精品成人欧美大片| 亚洲精品成人久久久| 亚洲成色999久久网站| 久久久久亚洲精品天堂| 久久SE精品一区二区| 欧美日韩精品久久久免费观看| 亚洲欧美国产精品专区久久| 久久精品三级视频| 狠狠色丁香婷婷综合久久来来去| 久久国产精品无码一区二区三区| 99久久国产综合精品女同图片| 久久天天躁狠狠躁夜夜av浪潮| 精品熟女少妇aⅴ免费久久| 久久er国产精品免费观看8| 91久久精品电影| 久久强奷乱码老熟女| 久久福利片| 一本久道久久综合狠狠躁AV| 久久婷婷色香五月综合激情| 国产精品一区二区久久精品涩爱| 亚洲国产成人精品无码久久久久久综合| 精品久久久久久无码人妻热|