• <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
            久久精品亚洲精品国产欧美| 色成年激情久久综合| 欧美午夜A∨大片久久 | 久久久久国产一级毛片高清板| 国产69精品久久久久777| 久久综合九色综合精品| 久久精品国产福利国产秒| 亚洲国产精品婷婷久久| 香港aa三级久久三级老师2021国产三级精品三级在 | a级成人毛片久久| 一本大道加勒比久久综合| 国产一区二区久久久| 精品国际久久久久999波多野| 国产精品热久久毛片| 亚洲中文久久精品无码| 91久久精品国产免费直播| 久久久久人妻一区精品性色av| 人妻无码中文久久久久专区| 久久九九精品99国产精品| 国产A三级久久精品| 国产精品免费看久久久香蕉| 青青国产成人久久91网 | 久久免费美女视频| 亚洲国产成人久久笫一页| 韩国无遮挡三级久久| 亚洲国产精品无码久久久不卡| 久久精品亚洲欧美日韩久久 | 久久男人中文字幕资源站| 99久久精品午夜一区二区| 伊人久久大香线焦AV综合影院| 精品久久久久久无码国产| 国产精品久久精品| 日韩精品久久久久久免费| 婷婷久久五月天| 久久五月精品中文字幕| 91精品久久久久久无码| 国产精品女同久久久久电影院| 伊人久久综合成人网| 午夜精品久久久久久中宇| 综合网日日天干夜夜久久| 区久久AAA片69亚洲|