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

            小明思考

            高性能服務器端計算
            posts - 70, comments - 428, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            When program crashed (windows)

            Posted on 2008-11-17 13:54 小明 閱讀(3291) 評論(0)  編輯 收藏 引用 所屬分類: Win32Debug
            天下沒有不crash的程序。

            Crash作為一個客觀存在的現實,每個程序員都應該意識到這個問題,才能最大限度的降低crash所帶來的危害。

            讓我們先來看看幾種死亡對話框


            Figure-1 Crash MessageBox in Windows 2000


            Figure-2 Crash MessageBox in Windows XP

            讓我們看看哪些因素影響程序Crash的時候的行為

            1 . Error Mode

            --cut from microsoft--
            Each process has an associated error mode that indicates to the system how the application is going to respond to serious errors. Serious errors include disk failure, drive-not-ready errors, data misalignment, and unhandled exceptions. An application can let the system display a message box informing the user that an error has occurred, or it can handle the errors. To handle these errors without user intervention, use the SetErrorMode function. After calling SetErrorMode and specifying appropriate flags, the system will not display the corresponding error message boxes.
            --cut from microsoft--

            也就是說我們可以調用來SetErrorMode(SEM_NOGPFAULTERRORBOX)來屏蔽掉"Death MessageBox"的出現。

            具體的API使用參考http://msdn.microsoft.com/en-us/library/ms680621(VS.85).aspx

            另外值得一提的一點是,父子進程默認使用相同的ErrorMode,但是你可以在CreateProcess通過指定CREATE_DEFAULT_ERROR_MODE來disable.

            2.注冊表中的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug

            有兩個key,第一個是auto,指定程序crash的時候要不要自動的load debugger
            如果為1,就不會顯示"Death MessageBox"而直接調用debugger了

            另外一個是debugger,指定默認的debugger.


            最后上傳一個測試程序來體會一下

            Click here to download TestCrash
            久久精品国产99久久久香蕉| 久久婷婷五月综合97色一本一本| 91久久九九无码成人网站| 国产精品久久久久天天影视| 99久久成人18免费网站| 久久久久亚洲av成人无码电影| 欧美精品九九99久久在观看| 久久国产色AV免费观看| 久久综合伊人77777| 久久精品九九亚洲精品| 亚洲午夜福利精品久久| 69久久夜色精品国产69| 久久久无码精品亚洲日韩京东传媒| 国产成人久久AV免费| 香蕉久久影院| 91精品久久久久久无码| 日韩久久久久久中文人妻| 久久亚洲中文字幕精品一区四 | 久久一区二区三区免费| 久久精品人人做人人妻人人玩| 久久夜色精品国产亚洲av| 99久久久久| 国产亚洲欧美精品久久久| 狠狠色婷婷久久一区二区| 久久久久无码精品国产app| 精品久久香蕉国产线看观看亚洲| 久久久无码精品亚洲日韩京东传媒 | 久久久久久久91精品免费观看| 久久九九青青国产精品| AV色综合久久天堂AV色综合在 | 亚洲中文字幕久久精品无码APP | 99国产精品久久久久久久成人热| 久久精品国产亚洲av麻豆图片| 青青草原综合久久大伊人导航| 久久99久久成人免费播放| 91麻精品国产91久久久久| 久久综合中文字幕| 久久国产精品免费一区| 久久青青草原精品国产软件| 亚洲国产成人乱码精品女人久久久不卡 | 久久综合一区二区无码|