青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

Umdhtools.exe: 如何使用 umdh.exe 來查找內(nèi)存泄漏

注意:這篇文章是由無人工介入的自動的機器翻譯系統(tǒng)翻譯完成。這些文章是微軟為不懂英語的用戶提供的, 以使他們能夠理解這些文章的內(nèi)容。微軟不保證機器翻譯的正確度,也不對由于內(nèi)容的誤譯或者客戶對它的使用所引起的任何直接的, 或間接的可能的問題負責(zé)。
文章編號 : 268343
最后修改 : 2006年5月30日
修訂 : 7.1

概要

用戶模式轉(zhuǎn)儲堆 (UMDH) 實用程序與操作系統(tǒng)來分析 Windows 堆分配對特定進程。 此工具和其他工具與其, 關(guān)聯(lián)是主要針對 Windows 2000 和 WindowsXP。 單擊 播放 按鈕以查看此流式媒體演示。

<ltThe embedded streaming media event requires Microsoft Windows Media Player to view.>gt

If you have problems viewing this video, click here.

更多信息

使用 UMDH 之前

如果您認為您遇到內(nèi)存泄漏, 應(yīng)注意, 內(nèi)存泄漏可能不它們似乎什么。 您可能發(fā)現(xiàn)內(nèi)存泄漏是不滿足內(nèi)存泄漏, 但是性能增強。 例如, MicrosoftJet 數(shù)據(jù)庫引擎會消耗大量內(nèi)存因為它檢索數(shù)據(jù)并寫入緩存 256 - MB 計算機上 (最多 128 MB)。 緩存允許 Jet 引擎以獲得快速讀和寫提前緩沖。

要確定是否是一個進程遇到內(nèi)存泄漏, 使用 Windows 性能監(jiān)視器 (Perfmon.exe) 并為應(yīng)用程序進程類別下監(jiān)視專用字節(jié)。 專用字節(jié)是總內(nèi)存, 進程已分配, 但不是與其他進程共享。 注意這是不同于 VirtualBytes, 即有趣來監(jiān)視。 虛擬字節(jié)是以字節(jié)表示的虛擬地址空間, 進程使用當(dāng)前大小。 應(yīng)用程序可泄漏虛擬內(nèi)存, 但可能沒有看到分配專用字節(jié)中差別。 如果看不到當(dāng)監(jiān)視專用字節(jié), 但懷疑仍然運行用盡了內(nèi)存, 增加內(nèi)存監(jiān)視虛擬字節(jié)以查看備份虛擬內(nèi)存是否正在使用。 有關(guān)檢測內(nèi)存泄漏, 附加信息請參閱以下 Microsoft Developer Network (MSDN) Web 站點上 " 查找 Leaks 和瓶頸與 WindowsNT PerfMon COM 對象 " 文章:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnperfmo/html/perfmon.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnperfmo/html/perfmon.asp)
要確保應(yīng)用程序, 是泄漏內(nèi)存, 可疑代碼放在循環(huán)與許多迭代, 并然后監(jiān)視對任何提高的內(nèi)存和虛擬專用字節(jié)。 觀看以確保不的專用字節(jié)和虛擬字節(jié)數(shù)不最終保持相同, 并且停止數(shù)增加。 如果沒有內(nèi)存增加, 停止時間點看不到內(nèi)存泄漏但更可能, 到緩存, 增長至其最大尺寸 (例如, 它并不繼續(xù)到 climb 無限)。

如果您決定使用 UMDH 之前,, 您看到內(nèi)存泄漏, 請按照下列步驟:
1.安裝 UMDH 實用程序。
2.設(shè)置要安裝 UMDH 文件夾 PATH 系統(tǒng)環(huán)境變量。
3.將 _ NT _ SYMBOL _ PATH 環(huán)境變量設(shè)置為 Microsoft 符號服務(wù)器路徑以便 UMDH 可以找到調(diào)試符號文件。
UMDH 工具是隨 DebuggingToolsforWindows 產(chǎn)品下面的 Microsoft Web 站點:
http://www.microsoft.com/whdc/devtools/ddk/default.mspx (http://www.microsoft.com/whdc/devtools/ddk/default.mspx)
下載和安裝實用程序, 并將 PATH 系統(tǒng)環(huán)境變量到路徑其中已安裝調(diào)試工具。

使用 UMDH 之前, 必須安裝用于組成應(yīng)用程序和操作系統(tǒng)正確調(diào)試符號。 用于 MicrosoftSymbolServer 獲取調(diào)試符號對于 Microsoft 組件。 有關(guān) MicrosoftSymbolServer, 請單擊文章編號以查看 Microsoft 知識庫中相應(yīng):
311503 (http://support.microsoft.com/kb/311503/EN-US/) 使用 Microsoft 符號服務(wù)器來獲取調(diào)試符號文件
UMDH 嘗試通過使用 _ NT _ SYMBOL _ PATH 環(huán)境變量查找符號文件。 命令以從命令提示符設(shè)置路徑可能與以下類似:
設(shè)置 _ NT _ SYMBOL _ PATH = SRV c:\LocalSymbolCache *
其他有關(guān)設(shè)置符號調(diào)試信息, 請參閱本文中后面 " 調(diào)試符號 " 部分。

在完成這些步驟, 您就可以使用 UMDH 實用程序。

與 UMDH 轉(zhuǎn)儲捕獲堆

UMDH 是實用工具, 轉(zhuǎn)儲堆分配的進程信息。 此信息包括調(diào)用堆棧用于每個分配、 次數(shù), 通過調(diào)用該堆棧, 進行分配和的消耗, 通過調(diào)用該堆棧字節(jié)數(shù)。 例如:
00005320 bytes in 0x14 allocations (@ 0x00000428) by: BackTrace00053
           ntdll!RtlDebugAllocateHeap+0x000000FD
           ntdll!RtlAllocateHeapSlowly+0x0000005A
           ntdll!RtlAllocateHeap+0x00000808
           MyApp!_heap_alloc_base+0x00000069
           MyApp!_heap_alloc_dbg+0x000001A2
           MyApp!_nh_malloc_dbg+0x00000023
           MyApp!_nh_malloc+0x00000016
           MyApp!operator new+0x0000000E
           MyApp!LeakyFunc+0x0000001E
           MyApp!main+0x0000002C
           MyApp!mainCRTStartup+0x000000FC
           KERNEL32!BaseProcessStart+0x0000003D
				
UMDH 輸出顯示, 沒有 21280 (0x5320) 從調(diào)用堆棧分配字節(jié)總數(shù)。 從 20 21280 字節(jié)被分配單獨分配的 1064 字節(jié) (0x428) (0 x 14)。 標識符是 BackTrace00053 提供調(diào)用堆棧。

要生成轉(zhuǎn)儲文件的堆分配, 您必須使用 Gflags.exe 實用程序, 也是隨 DebuggingToolsforWindows 產(chǎn)品, 來讓操作系統(tǒng)知道您想要跟蹤分配內(nèi)核。

假設(shè)您要為 Notepad.exe 轉(zhuǎn)儲 heap(s) 內(nèi)容。 必須首先啟用堆棧跟蹤獲取用于對要測試該應(yīng)用程序。 默認情況下, 不啟用此功能。 要啟用此功能命令是如下:
gflags notepad.exe + ust - i
命令不啟用堆棧跟蹤為進程到已經(jīng)運行, 但使堆棧跟蹤對于所有將來執(zhí)行是 Notepad.exe。 通過 GFLAGS 用戶界面 (不帶任何參數(shù)以獲得用戶界面運行 Gflags.exe) 或者, 您可設(shè)置標志。 使用 - ust 選項對于 gflags 以禁用堆棧跟蹤時, 調(diào)試已完成。

當(dāng)您通過 Gflags.exe, 圖像標志設(shè)并且設(shè)置調(diào)試符號, 您就可以啟動記事本, 使用 UMDH (應(yīng)用)。 啟動程序后, 必須確定進程 ID (PID) 的只啟動記事本進程。 對于此命令是如下:
tlist
您可以找到從輸出 TLIST 應(yīng)用程序的 PID。 PID 信息也可獲得從任務(wù)管理器。 假定對于記事本過程, 您只啟動 PID 是 124。 可使用 UMDH 來獲取堆轉(zhuǎn)儲使用以下命令:
umdh - p 124 個 - f:notepad124.log:
結(jié)果 : Notepad124.log 文件中有完整堆的 Notepad 進程轉(zhuǎn)儲。 此文件顯示所有所做的分配和 callstacks 其中進行分配。

使用 umdh.exe 來比較 UMDH 日志

如果不關(guān)心查找內(nèi)存泄漏, UMDH 日志文件包含對進程, 堆的當(dāng)前狀態(tài)寶貴信息時可能會更重要來比較的兩個日志輸出和了解哪些調(diào)用堆棧已看到大增長兩轉(zhuǎn)儲文件之間。 Umdh.exe 實用程序幫助比較兩 UMDH 日志以提供分析之間差。 一旦有兩個日志捕獲不同間隔, 可再使用以下命令:
UMDH dh1.log dh2.log > cmp12.txt
- 或 -
UMDH -d dh1.log dh2.log > cmp12.txt
- d 命令行選項通知 UMDH 以在十進制代替十六進制顯示。 命令的輸出比較差異的分配之間兩個日志并提供是類似于以下信息:
+ 5320 (f110 - 9df0) = = 5320 3a allocs BackTrace00053 總數(shù)增加
對于每 BackTrace, UMDH 日志文件中沒有兩個日志文件之間進行比較。 本例說明最后一個日志文件 UMDH 命令行中指定有 0xF110 對于相同 BackTrace 調(diào)用 (堆棧) 分配字節(jié)分配 UMDH 命令行中第一個日志具有 0x9DF0 時字節(jié) UMDH 命令行中第一個日志具有 0x9DF0 時分配字節(jié)對于同一 BackTrace (調(diào)用堆棧) 分配字節(jié)。 " 5320 " 是分配的字節(jié)數(shù)中差別。 此例, 沒有 0x5320 多字節(jié)時間之間分配兩日志被捕獲。 字節(jié)來自調(diào)用堆棧, 由 " BackTrace00053 "。

下一步是要了解什么是該 backtrace 中。 如果打開二日志文件和搜索 BackTrace00053 , 可能發(fā)現(xiàn)內(nèi)容, 類似于以下內(nèi)容:
00005320 bytes in 0x14 allocations (@ 0x00000428) by: BackTrace00053
           ntdll!RtlDebugAllocateHeap+0x000000FD
           ntdll!RtlAllocateHeapSlowly+0x0000005A
           ntdll!RtlAllocateHeap+0x00000808
           MyApp!_heap_alloc_base+0x00000069
           MyApp!_heap_alloc_dbg+0x000001A2
           MyApp!_nh_malloc_dbg+0x00000023
           MyApp!_nh_malloc+0x00000016
           MyApp!operator new+0x0000000E
           MyApp!LeakyFunc+0x0000001E
           MyApp!main+0x0000002C
           MyApp!mainCRTStartup+0x000000FC
           KERNEL32!BaseProcessStart+0x0000003D
				
當(dāng)您查看調(diào)用堆棧, 您可以看到, LeakyFunc 函數(shù)分配內(nèi)存通過 VisualC++ 運行時庫運算符新函數(shù)。 如果發(fā)現(xiàn), 分配的數(shù)增大如采取多轉(zhuǎn)儲文件, 您可能斷定不被釋放內(nèi)存。

啟用堆棧跟蹤

UMDH 日志中最重要信息是堆棧跟蹤的堆分配。 您可以分析地驗證如果進程堆內(nèi)存泄漏。 默認情況下, 這些堆棧跟蹤不獲取。 您可啟用此功能每個進程或系統(tǒng)級。 使用以下命令以啟用堆棧跟蹤系統(tǒng)級:
gflags -r + ust
此命令后重新啟動計算機。 有關(guān)每個進程啟用, 命令是如下:
gflags APPNAME + ust - i
其中 APPNAME 是包括擴展名 (例如, Services.exe, Lsass.exe) 可執(zhí)行的文件名。 命令不啟用堆棧跟蹤為進程已運行。 因此, 對于進程, 無法重新 (用于示例、 服務(wù)、 lsass、 winlogon), 您必須重新啟動測試計算機。

使用以下命令以驗證哪些設(shè)置已設(shè)置系統(tǒng)級或特定進程: 系統(tǒng)范圍:: 系統(tǒng)范圍:
gflags - r
特定進程:
gflags APP - 名稱 - i
默認情況下, 大堆棧跟蹤深度是 16。 如果要查看深 callstacks, 可以通過運行 GFLAGS 增加此。 單擊以選中 系統(tǒng)注冊表 , 然后鍵入新深度 Max. 堆棧跟蹤捕獲深度 編輯控件中。 單擊 應(yīng)用 , 并重新啟動計算機。
要點 : 如果正在使用 Windows NT 4.0 Service Pack 6, 您必須使用 Umdh_nt4.exe, 代替 Umdh.exe, 并且您必須使用 gflags - r 命令來設(shè)置系統(tǒng)級堆棧跟蹤。 請確保您重新啟動計算機。 WindowsNT 版本 4 上每流程基礎(chǔ)上無效 Umdh_nt4 堆棧跟蹤。 它必須為整個系統(tǒng)設(shè)置。

調(diào)試符號

最重要步驟以使用 UMDH 之一是以確保您具有好符號文件 (.dbg 或 .pdb 文件) 以獲得良好堆棧跟蹤。 至少, 您需要 Kernel32.dbg 和 Ntdll.dbg 符號文件。 您可以獲得其他調(diào)試符號, 您可能需要與您了解多關(guān)于哪些組件泄漏內(nèi)存。 有關(guān)如何獲取 Microsoft 組件, 調(diào)試符號文件請單擊文章編號以查看 Microsoft 知識庫中相應(yīng):
311503 (http://support.microsoft.com/kb/311503/EN-US/) INFO: 使用 Microsoft 符號服務(wù)器來獲取調(diào)試符號文件
有關(guān)如何使用 MicrosoftSymbolServer 以及如何獲取 Windows 符號程序包, 請訪問 Microsoft Web 站點:
http://www.microsoft.com/whdc/devtools/ddk/default.mspx (http://www.microsoft.com/whdc/devtools/ddk/default.mspx)
當(dāng)您生成組件與 VisualC++, 值得您沒有將程序數(shù)據(jù)庫用于編輯和繼續(xù)選擇用于 C++ 編譯器選項。 相反, 選擇程序數(shù)據(jù)庫。 將符號路徑, 初始化到路徑用于 _ NT _ SYMBOL _ PATH 環(huán)境變量。 您可以使用 Microsoft 符號服務(wù)器來獲取用于 Microsoft 組件符號。
311503 (http://support.microsoft.com/kb/311503/EN-US/) INFO: 使用 Microsoft 符號服務(wù)器來獲取調(diào)試符號文件
請按照下列步驟來設(shè)置 _ NT _ SYMBOL _ PATH 環(huán)境變量:
1.在控制面板, 雙擊 系統(tǒng)
2.單擊 高級 選項卡, 然后再單擊 環(huán)境變量。
也可以在命令窗口運行 UMDH 之前設(shè)置 _ NT _ SYMBOL _ PATH 環(huán)境變量。

注意 : 也包括到 PDB 對組件的應(yīng)用程序路徑。 例如, _ NT _ SYMBOL _ PATH 路徑設(shè)置為以下:
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols;c:\myapplicationssymbols
第第一部分對此路徑指向 MicrosoftSymbolServer 并指出 c:\symbols 文件夾中, 將下載符號使用。 分號后面部分是到 PDB 文件 (符號文件) 專門為泄漏應(yīng)用程序路徑。

調(diào)用 UMDH

只需要命令行參數(shù)對于 UMDH 是 - p 選項, 指定將從中獲取堆轉(zhuǎn)儲進程的 PID。 通過使用任務(wù)管理器或 Tlist.exe 程序獲得 PID。 轉(zhuǎn)日志為類似于以下, 命令將被儲到標準輸出:
umdh - p PID:
向標準錯誤, UMDH 還顯示各種信息性消息并因此如果您不執(zhí)行重定向其, 與實際日志混合它。 以收集 UMDH 信息性消息文件, 中使用以下命令:
umdh - p PID 2>umdh.msg:
如果要收集日志是由文件, 中 UMDH 轉(zhuǎn)儲, 使用下列命令之一:
umdh - p PID: umdh.log
- 或 -
umdh f:umdh.log PID - - p:
這些命令是等效。

通過 UMDH 獲得默認日志包含枚舉是堆消費者, 按分配計數(shù)排序。 如果還需要所有與其相應(yīng)堆棧跟蹤, 分配塊的轉(zhuǎn)儲文件用于調(diào)試目的, - d 選項用于:
umdh - p PID - d:
如果使用此命令, 您可能看到以下 UMDH 日志文件中:
對于跟蹤 BackTrace00046 分配 005F69A0 005F6150:
這些是用于調(diào)用該堆棧分配的內(nèi)存地址。 如果將調(diào)試器附加到進程, 您可轉(zhuǎn)儲內(nèi)存要查看哪些已分配這些地址上的內(nèi)容。

如果日志包含太多信息, 就可以僅限于那些具有分配大用戶計數(shù)超過特定閾值。 使用以下命令:
umdh - p PID - t: THRESHOLD:
所有命令行選項 (例如, - p、 - f, - t、 - d) 同時指定按任何順序。 下面是更難命令行示例:
umdh - p 123: 1000 - f:umdh.log - d - t:
此命令將轉(zhuǎn)儲堆對于過程與 PID 123 到 Umdh.log 文件。 它轉(zhuǎn)儲只堆棧跟蹤, 帳戶超過 1000 分配和它的堆塊通過每個堆棧跟蹤分配地址還轉(zhuǎn)儲。

另一個有用 UMDH 選項是 - l 選項。 這導(dǎo)致要盡可能調(diào)用堆棧中打印文件和行號。

解釋 UMDH 輸出

如果您重定向到文件日志 (PID -: umdh,) 內(nèi)容是類似于以下, 從運行 Notepad 進程已獲得它 - p: f:umdh.log
UMDH: Logtime 2000-06-28 10:54 - Machine=MYMachine - PID=704
   *********** Heap 00270000 Information ********************
       Flags: 58000062
       Number Of Entries: 87
       Number Of Tags: <unknown>
       Bytes Allocated: 00008DF0
       Bytes Committed: 0000A000
       Total FreeSpace: 00001210
       Number of Virtual Address chunks used: 1
       Address Space Used: <unknown>
       Entry Overhead: 8
       Creator:  (Backtrace00007)
           ntdll!RtlDebugCreateHeap+0x00000196
           ntdll!RtlCreateHeap+0x0000023F
           ntdll!LdrpInitializeProcess+0x00000369
           ntdll!LdrpInitialize+0x0000028D
           ntdll!KiUserApcDispatcher+0x00000007
   *********** Heap 00270000 Hogs ********************
   000001A0 bytes in 0x4 allocations (@ 0x00000068) by: BackTrace00031
           ntdll!RtlDebugAllocateHeap+0x000000FB
           ntdll!RtlAllocateHeapSlowly+0x0000005B
           ntdll!RtlAllocateHeap+0x00000D81
           ntdll!LdrpAllocateDataTableEntry+0x00000039
           ntdll!LdrpMapDll+0x000002A4
           ntdll!LdrpLoadImportModule+0x0000010D
           ntdll!LdrpWalkImportDescriptor+0x0000008B
           ntdll!LdrpLoadImportModule+0x0000011D
           ntdll!LdrpWalkImportDescriptor+0x0000008B
           ntdll!LdrpLoadImportModule+0x0000011D
           ntdll!LdrpWalkImportDescriptor+0x0000008B
           ntdll!LdrpInitializeProcess+0x000009DC
           ntdll!LdrpInitialize+0x0000028D
           ntdll!KiUserApcDispatcher+0x00000007

   000001A0 bytes in 0x4 allocations (@ 0x00000068) by: BackTrace00034
           ntdll!RtlDebugAllocateHeap+0x000000FB
           ntdll!RtlAllocateHeapSlowly+0x0000005B
           ntdll!RtlAllocateHeap+0x00000D81
           ntdll!LdrpAllocateDataTableEntry+0x00000039
           ntdll!LdrpMapDll+0x000002A4
           ntdll!LdrpLoadImportModule+0x0000010D
           ntdll!LdrpWalkImportDescriptor+0x0000008B
           ntdll!LdrpLoadImportModule+0x0000011D
           ntdll!LdrpWalkImportDescriptor+0x0000008B
           ntdll!LdrpLoadImportModule+0x0000011D
           ntdll!LdrpWalkImportDescriptor+0x0000008B
           ntdll!LdrpLoadImportModule+0x0000011D
           ntdll!LdrpWalkImportDescriptor+0x0000008B
           ntdll!LdrpInitializeProcess+0x000009DC
           ntdll!LdrpInitialize+0x0000028D
           ntdll!KiUserApcDispatcher+0x00000007
				
日志包含的進程中每個堆轉(zhuǎn)儲。 在本示例, 日志開頭 270000 地址處堆。 對于堆, 幾全局計數(shù)器后日志包含按減少排序順序的大多數(shù)分配負責(zé)堆棧跟蹤轉(zhuǎn)儲。 比較不同時間, 上所使用的內(nèi)存動態(tài)時, 可推斷進程中發(fā)生什么, 如果任何堆使用它類似于泄漏。

使用 UMDH 時, 您可能會遇到問題

因為未啟用堆棧跟蹤發(fā)生常見錯誤使用 UMDH 時。 也, 用于 Ntdll.dll 正確符號使 UMDH 無法運行。 對于其他符號文件, UMDH 運行但日志文件包含堆棧跟蹤沒有函數(shù)名稱, 但而具有內(nèi)部模塊相對地址。 遠程三錯誤指定錯誤 PID。 當(dāng)您嘗試為沒有啟用堆棧跟蹤過程運行 UMDH 產(chǎn)生以下錯誤信息:
C:\>umdh = MyMachine - PID 1140 UMDH = 1140 連接正在完成模塊枚舉 logtime 06 28 2000 - - - p:: 12:43 - 計算機。 SymGetSymFromName(process, ntdll!RtlpStackTraceDataBase, xxx) 失敗, LastError = 126 ntdll UmdhGetAddrFromName 未能找到堆棧跟蹤 DB 指針) RtlpStackTraceDataBase ! (。 ntdll.dll 符號不正確 ; 我們必須能夠看到非導(dǎo)入符號。
使用以下命令來復(fù)查過程, 您正在調(diào)查設(shè)置:
gflags APPNAME - i
您依賴于系統(tǒng)級堆棧跟蹤時使用以下命令:
gflags - r
這些命令顯示 flags 設(shè)置為應(yīng)用程序的列表。 注意如果是系統(tǒng)級堆棧跟蹤, 功能可能顯示為活動但實際上不激活如果您找不重新啟動計算機運行 gflags -r + ust 命令, 后。 如果要了解具有啟用, 堆棧跟蹤每個應(yīng)用程序可查看以下注冊表項下 USTEnabled 項:
HKEY NT\CurrentVersion\Image 文件執(zhí)行選項
如果 UMDH 具有啟用, 堆棧跟蹤進程上運行, 但由于您設(shè)置標志, 不重新應(yīng)用日志中可能會收到以下消息:
沒有用于此分配保存堆棧跟蹤 () 索引 = = 0
如果您運行不要設(shè)置正確符號路徑或符號不正確, 和運行 UMDH, 日志中可能會收到錯誤消息。 但是, 只出現(xiàn)錯誤或誤導(dǎo) callstacks。 若要驗證是否有正確符號, 例如啟動對進程, NTSD 系統(tǒng)調(diào)試器:
ntsd 記事本
然后, 從調(diào)試器控制臺, 運行 LD 命令以加載符號信息對模塊和 LM 命令以模塊有加載其符號列表。 如果 LM 命令的輸出顯示導(dǎo)出符號加載, 符號是不好。 如果您有加載, PDB 符號符號是好。 如果指定錯誤 PID 可能出現(xiàn)以下錯誤信息:
OpenProcess 失敗, LastError = 0x57

從 VisualBasic 調(diào)用 UMDH

最初可能有時用于轉(zhuǎn)儲隨著時間的日志數(shù)量因為泄漏可能不很明顯。 例如, 如果懷疑 Active Server Pages (ASP) Web 應(yīng)用程序, 是泄漏內(nèi)存, 它可能有助于出 shells, VisualBasic 中寫入 UMDH COM 組件。 然后可從您的 ASP 頁調(diào)用該組件。

下面是一些 VisualBasic 代碼調(diào)用 UMDH, 創(chuàng)建一個日志文件是基于當(dāng)前時間:
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
      Public Function GetProcessID()
      GetProcessID = GetCurrentProcessId()
      End Function  
   .
   .
   .
      Dim strTime As String

      Dim sProcID As String
      sProcID = GetProcessID()
      strTime = "MYLOG_" & Format(Now(), "hhmm")
     
      Shell ("C:\UMDH\umdh -p:" & sProcID & " -f:d:\logs\" & strTime & ".txt")
				

使用 Windows NT 4.0 服務(wù)軟件包 6a UMDH (SP6a)

Windows NT 4.0 上無效 UMDH 工具隨 DebuggingToolsforWindows 產(chǎn)品一起提供。 自解壓縮可執(zhí)行 (Umdhnt4tools.exe) 是隨本文并包含以下工具用于與 NT 4.0:
?Umdh_nt4.exe 和 Dbghelp.dll
這是 UMDH 實用程序的 Windows NT 4.0 SP 6 版本。
?Dhcmp.exe
此工具用于比較兩 UMDH 轉(zhuǎn)儲以確定其中可能內(nèi)存泄漏 occurrs。
可用于從 Microsoft 下載中心下載下列文件:
DownloadDownload Umdhnt4tools.exe now (http://download.microsoft.com/download/win2000srv/utility/1.0/nt45/en-us/umdhnt4tools.exe)
August 28, 2002 發(fā)布日期:

有關(guān)如何下載 Microsoft 支持文件, 請單擊下列文章編號以查看 Microsoft 知識庫中相應(yīng):
119591 (http://support.microsoft.com/kb/119591/EN-US/) 如何從聯(lián)機服務(wù)獲取 Microsoft 支持文件
此文件進行病毒掃描 Microsoft。 Microsoft 使用最新病毒檢測軟件, 投遞文件日期上的可用。 文件存儲在安全增強型服務(wù)器有助于防止未經(jīng)授權(quán)更改對該文件。 文件夾, 置于 Umdh_nt4.exe 和 Dbghelp.dll 并再將它們首先在 PATH 環(huán)境變量。 使用 Umdh_nt4.exe 代替 UMDH。

是運行 Windows NT 4.0, 計算機上必須使用 Gflags.exe 來設(shè)置系統(tǒng)級堆棧跟蹤。 例如:
gflags - r
請確保您重新啟動計算機。 WindowsNT 版本 4.0 上逐個進程無效 Umdh_nt4 堆棧跟蹤。 設(shè)置對整個系統(tǒng)。

與 UMDH UMDH_NT4 是, 它不比較日志文件。 例如, 您無法執(zhí)行以下操作:
UMDH_NT4 dh1.log dh2.log > cmp12.txt
而必須使用 Dhcmp.exe 工具所附帶本文。 類似于以下命令:
DHCMP dh1.log dh2.log > cmp12.txt

這篇文章中的信息適用于:
? Microsoft Windows 2000 Server
? Microsoft Windows 2000 Advanced Server
? Microsoft Windows 2000 Professional Edition
? Microsoft Windows NT Server 4.0 Standard Edition
? Microsoft Windows NT Workstation 4.0 Developer Edition
關(guān)鍵字:?
kbdownload kbarttypeshowme kbfile kbgraphxlinkcritical kbhowto kbsample KB268343 KbMtzh kbmt
Microsoft和/或其各供應(yīng)商對于為任何目的而在本服務(wù)器上發(fā)布的文件及有關(guān)圖形所含信息的適用性,不作任何聲明。 所有該等文件及有關(guān)圖形均"依樣"提供,而不帶任何性質(zhì)的保證。Microsoft和/或其各供應(yīng)商特此聲明,對所有與該等信息有關(guān)的保證和條件不負任何責(zé)任,該等保證和條件包括關(guān)于適銷性、符合特定用途、所有權(quán)和非侵權(quán)的所有默示保證和條件。在任何情況下,在由于使用或運行本服務(wù)器上的信息所引起的或與該等使用或運行有關(guān)的訴訟中,Microsoft和/或其各供應(yīng)商就因喪失使用、數(shù)據(jù)或利潤所導(dǎo)致的任何特別的、

posted on 2006-07-03 12:48 楊粼波 閱讀(2589) 評論(0)  編輯 收藏 引用 所屬分類: 文章收藏

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩国产精品成人| 亚洲一区免费观看| 玖玖玖国产精品| …久久精品99久久香蕉国产| 麻豆av一区二区三区久久| 久久永久免费| 99综合精品| 亚洲欧美日韩精品一区二区| 国产日韩精品在线| 牛人盗摄一区二区三区视频| 欧美福利网址| 午夜伦理片一区| 久久精品国产综合| 亚洲毛片在线观看.| 亚洲午夜电影| 在线免费观看日韩欧美| 日韩午夜精品| 国产专区综合网| 亚洲国产小视频| 国产精品久久毛片a| 久久综合网络一区二区| 欧美视频在线观看一区二区| 久久精品中文字幕一区| 欧美人与禽猛交乱配视频| 欧美专区日韩视频| 欧美激情欧美狂野欧美精品| 亚洲欧美日韩一区在线| 欧美xx视频| 久久精品一区四区| 欧美日韩天堂| 欧美国产第二页| 国产精品一区一区三区| 亚洲国产mv| 国产一区二区三区奇米久涩| 亚洲欧洲精品一区二区三区不卡| 国产日韩欧美中文| 夜夜爽夜夜爽精品视频| 91久久精品国产91久久性色tv| 亚洲一区二区动漫| av成人免费| 麻豆国产va免费精品高清在线| 午夜久久黄色| 欧美视频精品在线观看| 欧美成人在线网站| 黄色成人在线观看| 欧美一区亚洲| 久久精品九九| 国产区亚洲区欧美区| 一级日韩一区在线观看| 亚洲精品一区二区在线观看| 欧美在线观看网址综合| 欧美呦呦网站| 国产精品久久久久天堂| 国产精品99久久久久久宅男| 一区二区三区精品视频在线观看| 久久婷婷丁香| 欧美aa在线视频| 在线亚洲精品福利网址导航| 日韩一区二区免费高清| 亚洲天天影视| 亚洲网站在线| 国产精品美女久久久久av超清 | 亚洲在线视频免费观看| 欧美激情国产日韩| 亚洲日本欧美| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 伊人成人开心激情综合网| 亚洲欧美日韩天堂| 久久久精品国产99久久精品芒果| 国产女主播一区| 午夜精品国产更新| 久久一区中文字幕| 亚洲欧洲精品一区二区| 欧美成人第一页| 亚洲精品女人| 日韩午夜中文字幕| 国产精品成人aaaaa网站| 亚洲天堂av图片| 久久精品日产第一区二区| 国内久久婷婷综合| 你懂的视频欧美| 99riav国产精品| 久久精品免费观看| 亚洲经典三级| 国产精品s色| 欧美诱惑福利视频| 最近中文字幕mv在线一区二区三区四区 | 国产偷国产偷精品高清尤物| 欧美一区二区精品久久911| 女人色偷偷aa久久天堂| 国产精品99久久久久久久vr| 国产精品一级| 欧美黄色免费网站| 午夜精品久久久久久99热软件| 久久综合九色99| 99国产精品久久| 国产欧美在线播放| 欧美sm重口味系列视频在线观看| 一本色道久久综合亚洲精品婷婷| 久久精品99久久香蕉国产色戒 | 国产综合色一区二区三区| 麻豆国产va免费精品高清在线| 一区二区免费在线视频| 另类图片国产| 午夜激情一区| 亚洲精品视频在线| 狠狠色狠色综合曰曰| 欧美日韩一区自拍| 欧美α欧美αv大片| 欧美中文字幕第一页| 日韩午夜高潮| 91久久精品日日躁夜夜躁欧美| 午夜欧美不卡精品aaaaa| 亚洲精品婷婷| 激情伊人五月天久久综合| 国产精品扒开腿做爽爽爽软件| 免费成人黄色| 久久久久久久97| 久久久亚洲人| 宅男噜噜噜66一区二区66| 国产精品最新自拍| 欧美日韩精品是欧美日韩精品| 久久精品日产第一区二区| 亚洲一区999| 一本色道久久综合亚洲91| 亚洲国产欧美日韩另类综合| 久久人人97超碰人人澡爱香蕉| 亚洲一区国产一区| 亚洲私人黄色宅男| 夜夜嗨av一区二区三区网站四季av| 国模精品一区二区三区| 国产伦理精品不卡| 国产精品扒开腿做爽爽爽软件| 欧美日本在线播放| 欧美黄网免费在线观看| 欧美福利影院| 欧美极品一区二区三区| 欧美精品久久久久久久久老牛影院| 久久手机精品视频| 久热精品视频| 欧美成人亚洲成人| 欧美成人高清视频| 欧美精品一区二区精品网| 欧美激情影院| 欧美日韩精品在线视频| 欧美日韩国产精品成人| 欧美日韩一区在线观看| 国产精品麻豆欧美日韩ww| 国产精品国产三级国产普通话99| 欧美日韩一区二区三| 国产精品久久久久久久第一福利| 国产精品美女www爽爽爽| 国产精品美女一区二区| 国产日产亚洲精品| 影音欧美亚洲| 亚洲精品偷拍| 午夜精品福利在线观看| 久久国产婷婷国产香蕉| 老巨人导航500精品| 亚洲国产精品激情在线观看| 亚洲精选国产| 午夜精品视频一区| 女人香蕉久久**毛片精品| 欧美日韩国产成人在线| 国产精品视频九色porn| 激情校园亚洲| 在线一区二区三区做爰视频网站 | 亚洲激情av在线| 中文高清一区| 久久视频在线免费观看| 亚洲夫妻自拍| 亚洲综合丁香| 另类综合日韩欧美亚洲| 欧美日韩一区二| 伊甸园精品99久久久久久| 9l国产精品久久久久麻豆| 欧美在线播放视频| 你懂的成人av| 亚洲免费网站| 欧美激情中文字幕一区二区| 国产精品一区久久久久| 亚洲人成亚洲人成在线观看| 午夜欧美理论片| 91久久国产综合久久91精品网站| 亚洲影院在线| 欧美国产视频日韩| 狠狠久久婷婷| 亚洲欧美欧美一区二区三区| 欧美 日韩 国产一区二区在线视频 | 久久久久综合网| 国产精品久久久爽爽爽麻豆色哟哟| 1204国产成人精品视频| 校园激情久久| 国产精品一区二区三区成人| 国产亚洲永久域名| 一区二区三区高清| 欧美国产日韩免费| 欧美伊人久久久久久午夜久久久久| 欧美伦理91i| 亚洲人在线视频|