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

            LoveBeyond

            What is a First Chance Exception(什么是第一輪異常)

            當(dāng)你正在調(diào)試程序的時候,你是否曾經(jīng)看到過消息窗口輸出關(guān)于“First Chance Exception”(第一輪異常)的信息?也許有人會問,“什么是第一輪異常?”、“出現(xiàn)第一輪異常的提示意味著代碼有問題嗎?”
            什么是第一輪異常?
            (1)當(dāng)一個程序被調(diào)試的時候,如果有異常發(fā)生調(diào)試器會得到通知,這個時候,被調(diào)試的應(yīng)用程序?qū)粧炱鸩⑶艺{(diào)試器決定如何來處理這個異常。當(dāng)一個異常第一次經(jīng)過這種機制就是所謂的“第一輪異常”。根據(jù)調(diào)試器的設(shè)置,調(diào)試器可能會忽略這個異常并讓程序繼續(xù)執(zhí)行,或者保持被調(diào)試程序的掛起狀態(tài)并進入調(diào)試模式。
            如果應(yīng)用程序無法處理這個異常,調(diào)試器會再次得到通知,這個就是所謂的“Second Chance Exception”(第二輪異常)了。同樣調(diào)試器會再次掛起被調(diào)試程序并決定如何來處理這個異常。通常情況下,當(dāng)?shù)诙啴惓0l(fā)生的時候,調(diào)試器都被配置為進入調(diào)試模式,來允許用戶進行調(diào)試。
            出現(xiàn)第一輪異常的提示意味著代碼有問題嗎?
            第一輪異常的提示消息通常并不意味著代碼有問題,對于那些能完善處理異常的程序或者組件來說,出現(xiàn)第一輪異常的提示信息意味著出現(xiàn)了一個異常并且得到了妥善的處理。
            對于沒有異常處理代碼的程序來說,調(diào)試器會收到第二輪異常通知并且會提示沒有處理的異常信息。
            (以上信息整理自《What is a First Chance Exception》)

            異常與調(diào)試器
            Microsoft Visual Studio的調(diào)試器為異常調(diào)試提供了出色的支持。當(dāng)進程中的某個線程拋出異常,操作系統(tǒng)會馬上通知調(diào)試器(如果調(diào)試器已經(jīng)附著)。這個通知被稱為“首次機會通知”(first-chance notification)。調(diào)試器將響應(yīng)這個通知,促使線程尋找異常過濾程序。如果所有的異常過濾程序都返回EXCEPTION_CONTINUE_SEARCH,操作系統(tǒng)會給調(diào)試器一個“最后機會通知”(last-chance notification)。這兩個通知的存在使得軟件開發(fā)人員能夠更好的控制異常調(diào)試的過程。
            針對每個解決方案,我們可以通過Visual Studio調(diào)試器的“調(diào)試”-“異常”菜單打開Exceptions對話框決定調(diào)試器如何響應(yīng)首次機會異常通知。
            Visual Studio Exceptions對話框
            (以上信息整理自《Windows核心編程》)

            個人總結(jié):對于First Chance Exception和Second/Last Chance Exception,這些都只會出現(xiàn)于調(diào)試器中。前者意味著被調(diào)試程序確實產(chǎn)生了一個異常,如果被調(diào)試程序自己處理掉了這個異常,那么就不會出現(xiàn)Second/Last Chance Exception的提示,反之如果沒有處理則出現(xiàn)Second/Last Chance Exception的提示;如果是一個正常執(zhí)行的程序,Second/Last Chance Exception意味著這個程序的終止運行。

            本文出自程序人生 >> What is a First Chance Exception(什么是第一輪異常)

            推薦閱讀:

            來用低級鍵盤鉤子實現(xiàn)鍵盤改鍵
            QQScLauncher逆向分析

            posted on 2011-10-24 21:04 LoveBeyond 閱讀(1845) 評論(0)  編輯 收藏 引用 所屬分類: 雜亂無章

            <2011年10月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            導(dǎo)航

            統(tǒng)計

            留言簿(1)

            文章分類

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            友情鏈接:C++博客 LoveBeyond 代碼瘋子 程序人生 C++技術(shù)博客
            久久精品国内一区二区三区| 欧美午夜精品久久久久免费视 | 久久99国产精品久久99果冻传媒| 久久99国产精品二区不卡| 国产精品免费久久久久久久久| 一本大道久久香蕉成人网| 亚洲国产美女精品久久久久∴| 久久香蕉超碰97国产精品| 一级做a爰片久久毛片人呢| 日本亚洲色大成网站WWW久久| 欧美大香线蕉线伊人久久| 久久本道久久综合伊人| 久久久久成人精品无码中文字幕| 久久综合视频网站| 久久最近最新中文字幕大全 | 久久久久久久精品妇女99| 国产精品激情综合久久| 久久久av波多野一区二区| 色综合久久久久综合99| 天天爽天天爽天天片a久久网| 久久久久久久久久久| 亚洲欧美成人久久综合中文网| 久久精品国产精品青草app| 久久无码人妻一区二区三区午夜| 麻豆久久| 亚洲国产香蕉人人爽成AV片久久 | 国产亚洲精品自在久久| 九九精品久久久久久噜噜| 色偷偷88欧美精品久久久| 亚洲国产精品一区二区久久| 国产成人久久精品区一区二区| 亚洲精品无码专区久久同性男 | 久久久久亚洲AV片无码下载蜜桃| 久久久精品日本一区二区三区| 国产激情久久久久影院老熟女免费| 99久久成人国产精品免费| 日产久久强奸免费的看| 日产精品久久久一区二区| 精品久久人人爽天天玩人人妻| 伊人久久大香线蕉亚洲五月天| 亚洲精品白浆高清久久久久久|