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

            jans2002的博客

            專注 專心 專業

            如何根據程序崩潰時的DMP文件使用WinDbg查找調用堆棧

             

            HOW TO: 查找問題的異常堆棧時出現的 UnhandledExceptionFilter 調用堆棧跟蹤中

            http://support.microsoft.com/kb/313109/zh-cn

            察看本文應用于的產品

            本頁

            展開全部 | 關閉全部

            概要

            沒有異常處理程序定義處理引發的異常時,將調用該 UnhandledExceptionFilter 函數。 通常,該函數會將異常傳遞給在 Ntdll.dll 為文...

            沒有異常處理程序定義處理引發的異常時,將調用該 UnhandledExceptionFilter 函數。 通常,該函數會將異常傳遞給在 Ntdll.dll 為文件其中捕獲,并嘗試處理設置。
            在進程的內存快照所在某些情況下,可以看到鎖定點保存到線程的線程的調用 UnhandledExceptionFilter 函數。 在這的種情況下您可以按照本文以確定導致此異常的 DLL。

            回到頂端

            使用 Windbg.exe 打開轉儲文件
            1. 下載并安裝調試程序。 要下載調試程序,請訪問下面的 Microsoft 網站:

              Microsoft 調試工具
              http://www.microsoft.com/whdc/devtools/ddk/default.mspx (http://www.microsoft.com/whdc/devtools/ddk/default.mspx)

            2. 打開安裝調試程序,文件夾,然后雙擊 Windbg.exe 啟動調試器。
            3. 文件 菜單上單擊 打開的崩潰轉儲 (或按 Ctrl+D),然后選擇要查看該轉儲文件。

            回到頂端

            使用 Windbg.exe 確定異常堆棧
            1. 在 Windbg.exe,打開進程的.dmp 文件。
            2. 請確保您符號路徑指向正確的位置。 有關如何執行此操作,請訪問下面的 Microsoft Web 站點:

              如何獲得符號
              http://www.microsoft.com/whdc/devtools/ddk/default.mspx (http://www.microsoft.com/whdc/devtools/ddk/default.mspx)

            3. 在命令提示符下鍵入 ~ * kb 以列出所有進程中的線程。
            4. 標識對函數調用的線程 Kernel32! UnhandledExceptionFilter 。 它類似于以下:

              120  id: f0f0f0f0.a1c   Suspend: 1 Teb 7ff72000 Unfrozen
              ChildEBP RetAddr  Args to Child              
              09a8f334 77eb9b46 0000244c 00000001 00000000 ntdll!ZwWaitForSingleObject+0xb [i386\usrstubs.asm @ 2004]
              09a8f644 77ea7e7a 09a8f66c 77e861ae 09a8f674 KERNEL32!UnhandledExceptionFilter+0x2b5 
              [D:\nt\private\windows\base\client\thread.c @ 1753]
              09a8ffec 00000000 787bf0b8 0216fe94 00000000 KERNEL32!BaseThreadStart+0x65 [D:\nt\private\windows\base\client\support.c @ 453]
              					
            5. 切換到該線程 (在本例中,該線程是"~120s")。
            6. 在第一個參數的指定位置顯示內存內容 Kernel32! UnhandledExceptionFilter 通過 添加 第一個參數 。 此指向 EXCEPTION_POINTERS 結構

              0:120> dd 09a8f66c 
              09a8f66c  09a8f738 09a8f754 09a8f698 77f8f45c 
              09a8f67c  09a8f738 09a8ffdc 09a8f754 09a8f710 
              09a8f68c  09a8ffdc 77f8f5b5 09a8ffdc 09a8f720 
              09a8f69c  77f8f3fa 09a8f738 09a8ffdc 09a8f754 
              09a8f6ac  09a8f710 77e8615b 09a8fad4 00000000 
              09a8f6bc  09a8f738 74a25336 09a8f6e0 09a8f910 
              09a8f6cc  01dc8ad8 0d788918 00000001 018d1f28 
              09a8f6dc  00000001 61746164 7073612e 09a8f71c 
              					
            7. 第一個 DWORD 代表異常記錄。 若要獲取有關異常的類型信息,請請在命令提示符處運行以下:

              .exr first DWORD from step 6

              0:120> .exr 09a8f738 
              ExceptionAddress: 78011f32 (MSVCRT!strnicmp+0x00000092)
                 ExceptionCode: c0000005 
                ExceptionFlags: 00000000 
              NumberParameters: 2 
                 Parameter[0]: 00000000 
                 Parameter[1]: 00000000 
              Attempt to read from address 00000000 
              					
            8. 第二個 DWORD 是上下文記錄。 若要獲取上下文的信息,請在命令提示符處運行以下:

              .cxr second DWORD from step 6

              0:120> .cxr 09a8f754 
              eax=027470ff ebx=7803cb28 ecx=00000000 edx=00000000 esi=00000000 edi=09a8fad4 
              eip=78011f32 esp=09a8fa20 ebp=09a8fa2c iopl=0         nv up ei ng nz na po nc 
              cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010286 
              MSVCRT!strnicmp+92: 
              78011f32 8a06             mov     al,[esi] 
              					
            9. 運行 kv 命令獲得實際的異常的調用堆棧。 這有助于您識別可能未被處理正確的過程中實際問題

              0:120> kv
              ChildEBP RetAddr  Args to Child            
              WARNING: Stack unwind information not available. Following frames may be wrong.
              09a8fa2c 780119ab 09a8fad4 00000000 09a8faa8 MSVCRT!strnicmp+0x92
              09a8fa40 7801197c 09a8fad4 00000000 6d7044fd MSVCRT!stricmp+0x3c
              09a8fa80 6e5a6ef6 09a8fad4 2193d68d 00e5e298 MSVCRT!stricmp+0xd
              09a8fa94 6d7043bf 09a8fad4 09a8faa8 0000001c IisRTL!CLKRHashTable::FindKey+0x59 (FPO: [2,0,1])
              09a8faac 749fc22d 09a8fad4 01d553b0 0000001c ISATQ!CDirMonitor::FindEntry+0x1e 
              (FPO: [Non-Fpo]) [D:\nt\private\inet\iis\svcs\infocomm\atq\dirmon.cpp @ 884]
              09a8fac4 749fd1cb 09a8fad4 09a8fb10 525c3a46 asp!RegisterASPDirMonitorEntry+0x6e 
              (FPO: [EBP 0x09a8fb08] [2,0,4]) [D:\nt\private\inet\iis\svcs\cmp\asp\aspdmon.cpp @ 534]
              09a8fb08 749fcdd6 00000000 09a8fcbc 018d1f28 asp!CTemplateCacheManager::RegisterTemplateForChangeNotification+0x8a 
              (FPO: [Non-Fpo]) [D:\nt\private\inet\iis\svcs\cmp\asp\cachemgr.cpp @ 621]
              09a8fb3c 74a08bfe 00000000 000000fa 74a30958 asp!CTemplateCacheManager::Load+0x382 
              (FPO: [Non-Fpo]) [D:\nt\private\inet\iis\svcs\cmp\asp\cachemgr.cpp @ 364]
              09a8fc68 74a0d4c9 04c12518 018d1f28 09a8fcbc asp!LoadTemplate+0x42 
              (FPO: [Non-Fpo]) [D:\nt\private\inet\iis\svcs\cmp\asp\exec.cpp @ 1037]
              09a8fcc0 74a2c3e5 00000000 0637ee38 09a8fd58 asp!CHitObj::ViperAsyncCallback+0x3e8 
              (FPO: [Non-Fpo]) [D:\nt\private\inet\iis\svcs\cmp\asp\hitobj.cpp @ 2414]
              09a8fcd8 787c048a 00000000 77aa1b03 01e91ed8 asp!CViperAsyncRequest::OnCall+0x3f 
              (FPO: [Non-Fpo]) [D:\nt\private\inet\iis\svcs\cmp\asp\viperint.cpp @ 194]
              09a8fce0 77aa1b03 01e91ed8 77a536d8 00000000 COMSVCS!STAActivityWorkHelper+0xa 
              (FPO: [1,0,0])
              09a8fd24 77aa1927 000752f8 000864dc 787c0480 ole32!EnterForCallback+0x6a 
              (FPO: [Non-Fpo]) [D:\nt\private\ole32\com\dcomrem\crossctx.cxx @ 1759]
              09a8fe50 77aa17ea 000864dc 787c0480 01e91ed8 ole32!SwitchForCallback+0x12b 
              (FPO: [Non-Fpo]) [D:\nt\private\ole32\com\dcomrem\crossctx.cxx @ 1644]
              09a8fe78 77aa60c1 000864dc 787c0480 01e91ed8 ole32!PerformCallback+0x50
              (FPO: [Non-Fpo]) [D:\nt\private\ole32\com\dcomrem\crossctx.cxx @ 1559]
              09a8fed4 77aa5fa6 04f2b4c0 787c0480 01e91ed8 ole32!CObjectContext::InternalContextCallback+0xf5 
              (FPO: [Non-Fpo]) [D:\nt\private\ole32\com\dcomrem\context.cxx @ 3866]
              09a8fef4 787bd3c3 04f2b4c0 787c0480 01e91ed8 ole32!CObjectContext::DoCallback+0x1a 
              (FPO: [Non-Fpo]) [D:\nt\private\ole32\com\dcomrem\context.cxx @ 3746]
              09a8ff24 787bf373 0216fb3c 00000007 09a8ffec COMSVCS!STAActivityWork::DoWork+0x73 
              (FPO: [0,4,2])
              09a8ffb4 77e8758a 0216fe94 0216fb3c 00000007 COMSVCS!STAThread::STAThreadWorker+0x2bb 
              (FPO: [EBP 0x09a8ffec] [1,31,4])
              09a8ffec 00000000 787bf0b8 0216fe94 00000000 KERNEL32!BaseThreadStart+0x52 
              (FPO: [Non-Fpo]) [D:\nt\private\windows\base\client\support.c @ 451]
              					

            posted on 2009-01-08 15:53 jans2002 閱讀(10234) 評論(0)  編輯 收藏 引用

            久久午夜无码鲁丝片秋霞| 久久久久无码专区亚洲av| 久久天天躁夜夜躁狠狠躁2022| 久久综合一区二区无码| 人人妻久久人人澡人人爽人人精品| 中文字幕久久亚洲一区| 国产精品一区二区久久不卡| 国产精品伦理久久久久久| 欧美亚洲国产精品久久久久| 久久婷婷五月综合97色直播| 一本一道久久综合狠狠老| 久久久久国产精品| 亚洲国产综合久久天堂 | 亚洲国产精品综合久久一线| 亚洲午夜精品久久久久久浪潮| 国产激情久久久久久熟女老人| 久久国产亚洲精品麻豆| 久久人人爽人人爽人人片av麻烦| 精品久久久久久久| 亚洲色欲久久久综合网| 久久精品成人一区二区三区| 久久精品人人做人人爽97| 一本久久免费视频| 九九久久精品国产| 国产成人综合久久综合| 精品久久久久久中文字幕大豆网| 国产一区二区精品久久凹凸 | 色偷偷888欧美精品久久久| 久久人人爽人人爽人人片AV麻烦| 2021国产成人精品久久| 久久久久久免费一区二区三区| 无码专区久久综合久中文字幕| 久久丝袜精品中文字幕| 久久九九久精品国产免费直播| 精品国产福利久久久| 国内精品久久久久久野外| 久久精品亚洲日本波多野结衣 | 久久久久亚洲AV成人片| 伊人久久大香线蕉av不变影院| 波多野结衣久久一区二区| 亚洲欧美久久久久9999|