Umdhtools.exe: Jak používat Umdh.exe vyhledání nevrácené paměti

Překlady článku Překlady článku
ID článku: 268343 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Nástroj uživatelského režimu dump haldy (UMDH) spolupracuje operační systém analyzovat přidělení haldy systému Windows pro určitý proces. Tento nástroj a další nástroje přidruženy, jsou zaměřeny především pro systém Windows 2000 a Windows XP. Klepnutím na tlačítko Přehrát a zobrazit tento spustíte vysílanou ukázku.

Poznámka:Video kodek ACELP ® je kódována, potřebujete nainstalovat zdarma k dispozici kodek ACELP ® http://www.ACELP.NET/acelp_eval.php



Poznámka: Protože funkce malloc v C modul run-time (CRT) používá opomenutí ukazatel rámce (FPO) v původní verzi systému Windows Server 2003, je možné informace o dokončení zásobníku funkce malloc pomocí nástroje UMDH. Tento problém je opraven v aktualizaci Windows Server 2003 Service Pack 1 (SP1) modulu CRT. Proto uvidíte informace o dokončení zásobníku funkce malloc v systému Windows Server 2003 SP1.

Další informace

Před použitím UMDH

Pokud dochází nevracení paměti, uvědomte si že paměť nevrací nemusí být objevují se. Pravděpodobně zjistíte, že nevracení paměti není pravda paměť, ale je vylepšení výkonu. Pro například databázový stroj Microsoft Jet může spotřebovat velké množství paměti (až 128 MB na počítači 256 MB), protože data načítá a zapisuje ukládání do mezipaměti. Stroj Jet Rychlé čtení napřed a předběžné povolení mezipaměti ukládání do vyrovnávací paměti.

Chcete-li zjistit, zda dochází k procesu paměť úniku, použijte nástroj Sledování výkonu (Perfmon.exe) a sledování soukromé Počet bajtů v kategorii procesu aplikace. Soukromé bajty je Celková velikost paměti, že byla přidělena procesu, ale není sdílení s ostatními procesy. To se liší od virtuálních bajtů je také zajímavé sledovat. Virtuální bajty je aktuální velikost v bajtech virtuální adresový prostor, který používá proces. Aplikace může způsobit únik virtuální paměti, ale nemusí vidět rozdíl v soukromých bajtů, které jsou přiděleny. Pokud při sledování nesdílených bajtů, ale zvýšení paměti podezření, že stále dochází paměť monitoru zobrazit virtuální bajty Pokud používáte virtuální paměť. Další informace o zjištění nevracení paměti a Přehled sledování výkonu (Perfmon.exe) v systému Windows navštivte následující Web společnosti Microsoft:
http://msdn.microsoft.com/en-us/library/ms404355.aspx
Ujistěte se, že aplikace nevrací paměť, umístit kód ve smyčce s mnoha iterací podezření a pak sledovat soukromé a virtuálních bajtů pro jakékoli zvýšení paměti. Sledujte, zda číslo Soukromé bajty a virtuálních bajtů nepokračují nakonec stejné a číslo zastaví zvýšení. Pokud je bod, kdy přestane paměť zvýšení, (například jej nadále stoupání neomezeně) provedete nevracení paměti, ale pravděpodobně není zobrazena, naleznete v tématu mezipaměť, která roste na jeho maximální velikost.

Pokud zjistíte v tématu nevracení paměti před použití UMDH, postupujte takto:
  1. Nainstalujte nástroj UMDH.
  2. Nastavit proměnné prostředí PATH systému zahrnout složky, kam jste nainstalovali UMDH.
  3. Chcete-li nastavit proměnnou prostředí _NT_SYMBOL_PATH Microsoft symbol server cestu tak, aby UMDH lze nalézt debug symbol soubory.
Nástroj UMDH je součástí nástrojů pro ladění Produkty systému Windows na následující Web společnosti Microsoft:
http://www.microsoft.com/whdc/devtools/ddk/default.mspx
Stáhněte a nainstalujte nástroj a poté nastavte CESTU systému proměnné prostředí na cestu, kde byly nainstalovány ladicí nástroje.

Před použitím UMDH musíte nainstalovat symboly ladění správné součásti aplikace a operační systém. Použít Microsoft Získat symboly ladění pro součásti Microsoft Symbol Server. Další informace o serveru Microsoft Symbol klepněte na následující číslo článku:
311503Použití symbolového serveru společnosti Microsoft získat soubory symbolů ladění
UMDH se pokusí najít soubory symbolů pomocí _NT_SYMBOL_PATH proměnná prostředí. Příkaz nastavit cestu z příkazový řádek může vypadat podobně jako následující:
set _NT_SYMBOL_PATH = SRV * c:\LocalSymbolCache
Další informace o nastavení symbolické ladění informace naleznete v části "Symboly ladění" dále v tomto článku.

Po dokončení těchto kroků budete připraveni použít nástroj UMDH.

Digitalizace haldy vypíše s UMDH

UMDH je nástroj, který vypíše informace o haldy přidělení procesu. Tyto informace zahrnují atribut callstack pro každou přidělení, počet přidělení provedené prostřednictvím tento atribut callstack a počet bajtů, které jsou spotřebovány přes tento atribut callstack. Například:
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
				
Tento UMDH výstup ukazuje, že byly 21280 (0x5320) přidělené bajty Celkem od atribut callstack. 21280 Bajtů, které byly přiděleny z 20 (0x14) samostatné přidělení 1064 bajtů (0x428). Je uveden atribut callstack identifikátor BackTrace00053.

K vytvoření souboru s výpisem stavu paměti haldy přidělení, musíte použít nástroj Gflags.exe je také součástí produkty Debugging Tools for Windows umožňují vědět, že operační systém Chcete sledovat rozdělení jádra.

Předpokládejme, že chcete Vypsat obsah heap(s) pro program Notepad.exe. Nejprve musíte povolit trasování zásobníku pořízení pro aplikaci, kterou chcete testovat. Ve výchozím nastavení této funkce není povoleno. Příkaz k povolení této funkce je následující:
gflags -i notepad.exe + tvůrcem
Příkaz není povoleno trasování zásobníku pro procesy, které jsou již spuštěna, ale povolí trasování zásobníku pro všechny budoucí spuštění Program Notepad.exe. Alternativně můžete nastavit příznak prostřednictvím GFLAGS uživatele rozhraní (spustit bez argumentů k získání uživatelského rozhraní Gflags.exe). Použití možnost - tvůrcem gflags zakázat trasování zásobníku při dokončení ladění.

Po nastavení příznaků obrazu přes Gflags.exe, a nastavit symboly ladění, jste připraveni spustit program Poznámkový blok (na aplikace používající UMDH). Po spuštění programu musí určení proces ID (PID) právě spuštěný proces Poznámkový blok. Tento příkaz je:
Tlist
Můžete najít PID z výstupu aplikace TLIST. PID informace lze také získat od správce úloh. Předpokládejme PID pro právě spuštěný proces Poznámkový blok je 124. UMDH lze získat výpis haldy pomocí následujícího příkazu:
umdh - p: 124 - f:notepad124.log
Výsledky: máte haldy kompletní výpis stavu procesu Poznámkový blok v Soubor Notepad124.log. Tento soubor zobrazuje všechny alokace, které byly provedeny a callstacks, kde byly provedeny přidělení.

Použití Umdh.exe porovnat UMDH protokoly

UMDH soubor protokolu obsahuje cenné informace o aktuální stav haldách procesu, pokud se hledání nevracení paměti může být hodnotnější porovnat výstupy dvou protokolů a Zjistěte, jaké atribut callstack zaznamenala největší růst mezi dvěma výpis souborů. Umdh.exe nástroj pomáhá porovnat dva protokoly UMDH poskytnout analýzu rozdíl mezi nimi. Jakmile máte dva protokoly, které jsou zachyceny v různých intervaly, pak můžete použít následující příkaz:
UMDH dh1.log dh2.log > cmp12.txt
- nebo -
UMDH -d dh1.log dh2.log > cmp12.txt
Možnost příkazového řádku -d informuje UMDH zobrazení desetinné místo hexadecimální. Výstup příkazu Porovná rozdíly rozdělení mezi dvěma protokoly a poskytuje informace, která je podobná následující:
+ 5320 (f110 - 9df0) 3a vyhrazení BackTrace00053 Celkové zvýšení == 5320
Pro každý BackTrace v souborech protokolu UMDH je porovnání provedené mezi protokoly dva soubory. Tento případ ukazuje, že poslední soubor protokolu, který je v UMDH příkazového řádku bylo 0xF110 bajtech při první v příkazovém řádku UMDH protokolu bylo 0x9DF0 bajtů přidělených pro stejné BackTrace (atribut callstack). "5320" Je rozdíl v počtu bajtů, které jsou přiděleny. V tomto případě byly více bajtů rozdělena mezi časy 0x5320, dva protokoly byly sebrány. Bajty pochází z atribut callstack, který je identifikován "BackTrace00053".

Dalším krokem je zjistit, co je v tomto backtrace. Pokud otevřete druhý soubor protokolu a Hledat BackTrace00053, zjistíte to podobným následujícímu:
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
				
Při zobrazení atribut callstack uvidíte, že funkce LeakyFunc přidělí paměť prostřednictvím knihovny run-time Visual C++ nové funkce, operátor. Pokud zjistíte, že roste počet přidělení jako přijmout další soubory s výpisem stavu paměti, může uzavřít, že paměť není Uvolňovaná.

Povolení trasování zásobníku

Nejdůležitější informace v protokolech UMDH je trasování zásobníku přidělení haldy. Je možné analyzovat ověřit, pokud proces nevrací haldy paměti. Standardně nejsou získali tyto trasování zásobníku. Tím povolíte Funkce-proces nebo celého systému. Použijte následující příkaz Povolit zásobníku sledování celého systému:
gflags - r + tvůrcem
Po tomto příkazu restartujte počítač. Proces povolení, příkazu je následující:
gflags -i APPNAME + tvůrcem
Kde NÁZEV_APLIKACE je název souboru spustitelného souboru včetně přípony (pro například Services.exe, Lsass.exe). Příkaz není povoleno trasování zásobníku pro proces, který je již spuštěna. Proto pro procesy, které nelze Po restartování (například, služby lsass, winlogon), je nutné restartovat test počítač.

Ověřte nastavení máte použít následující příkazy byla nastavena celého systému nebo pro konkrétní proces: celý systém:
gflags - r
Specifický proces:
gflags -i název aplikace
Ve výchozím nastavení je hloubka trasování zásobníku maximální 16. Chcete-li Viz hlubší callstacks můžete zvětšit spuštěním GFLAGS. Klepnutím vyberte Systémového registrua pak zadejte nové hloubka v Max. Hloubka zachytit trasování zásobníku ovládací prvek pro úpravy. Klepněte na tlačítko použíta potom restartujte počítač.
Důležité: Pokud používáte systém Windows NT 4.0 Service Pack 6, musíte použít Musíte použít Umdh_nt4.exe Umdh.exe, a Gflags -r příkaz trasování zásobníku celého systému. Ujistěte se, že jste Restartujte počítač. Trasování zásobníku Umdh_nt4 nefunguje na jeden proces základ v systému Windows NT verze 4. Musí být nastavena pro celý systém.

Symboly ladění

Jedním z nejdůležitějších kroků, pomocí UMDH je zajistit zda máte dobré symbol soubory (soubor dbg nebo PDB) získat dobré zásobníku. Minimálně je třeba symbol soubory Kernel32.dbg a Ntdll.dbg. Můžete získat další symboly ladění, které potřebují jak zjistit více o součásti únik paměti. Další informace Jak získat soubory symbolů ladění pro Microsoft součásti, klepněte na následující číslo článku:
311503Použití symbolového serveru společnosti Microsoft získat soubory symbolů ladění
Další informace o použití Symbolový Server společnosti Microsoft a získání symbol balíčky systému Windows, naleznete Následující Web společnosti Microsoft:
http://www.microsoft.com/whdc/devtools/ddk/default.mspx
Při vytváření komponent pomocí jazyka Visual C++, je důležité, není nutné databáze programu pro úpravy a vybrané pokračovat c++ možnosti kompilátoru. Místo toho vyberte databázi programu. Nastavení cesty symbol Inicializujte proměnnou prostředí _NT_SYMBOL_PATH cestu pro použití. Můžete symbolový Server společnosti Microsoft můžete získat symboly pro Microsoft součásti.
311503 Použití symbolového serveru společnosti Microsoft získat soubory symbolů ladění
Pomocí následujícího postupu nastavte _NT_SYMBOL_PATH Proměnná prostředí:
  1. V Ovládacích panelech poklepejte na panel systém.
  2. Klepněte na kartu Upřesnit a potom klepněte na tlačítko proměnné prostředí.
Nebo můžete nastavit proměnnou prostředí _NT_SYMBOL_PATH v Před spuštěním UMDH příkazové okno.

Poznámka: také obsahovat cestu k PDB pro součásti aplikace aplikace. Například můžete nastavte cestu pro _NT_SYMBOL_PATH následující:
SRV*c:\Symbols*http://msdl.microsoft.com/download/symbols;c:\myapplicationssymbols
První část tato cesta odkazuje na serveru Microsoft Symbol a že budou staženy symboly, které jsou použity v c:\symbols státy složka. Část, která následuje středník, je cesta k PDB soubory (soubory symbolů) speciálně pro aplikace prosakování.

Vyvolání UMDH

Možnost -p , která určuje PID procesu, ze kterého je povinný pouze parametr příkazového řádku pro UMDH haldu Výpis bude získán. PID lze získat pomocí Správce úloh nebo Tlist.exe program. Příkaz podobný následujícímu, bude do protokolu dumpingové do standardního výstupu:
umdh - p: PID
UMDH také zobrazí standardní různých informačních zpráv Chyba, a proto pokud není přesměrovat jej, je smíchána skutečné protokolu. Shromáždit UMDH informační zprávy v souboru, použijte následující příkaz:
umdh - p: PID 2>umdh.msg
Pokud chcete shromažďovat, vypsána podle UMDH v souboru protokolu Použijte jeden z následujících příkazů:
umdh - p: PID > umdh.log
- nebo -
umdh - p: PID-f:umdh.log
Tyto příkazy jsou rovnocenné.

Výchozí protokol, který je získaný UMDH obsahuje výčet haldy spotřebitelů, které jsou seřazeny podle Počet přidělení. Pokud pro účely ladění musíte také soubor s výpisem všech možnost -d lze použít přidělené bloků s jejich odpovídající trasování zásobníku:
umdh - p: PID -d
Pokud použijete tento příkaz, může zobrazit následující UMDH soubor protokolu:
Přidělení trasování BackTrace00046: 005F69A0 005F6150
Tyto adresy paměti přidělení, která jsou atribut CallStack. Pokud ladicí program připojen k procesu, výpis obsah na tyto adresy naleznete v tématu co přidělené paměti.

Pokud v protokolu obsahuje příliš mnoho informací, může být omezeno pouze na velký uživatelů, kteří přidělení počítat nad určitým prahem. Použití Následující příkaz:
umdh - p: PID - t: PRÁH
Všechny parametry příkazového řádku (například -p-f, -t, -d) lze současně v libovolném pořadí. Je složitější příklad příkazového řádku:
umdh - p: 123 - t: 1000 - f:umdh.log -d
Tento příkaz vypíše haldách procesu s PID 123 do soubor Umdh.log. Účet vypíše pouze trasování zásobníku pro více než 1000 přidělení a vypíše adresy haldy bloky, které jsou také přiděleno prostřednictvím jednotlivých trasování zásobníku.

Další užitečnou možnost UMDH Parametr -l . To způsobí, že čísla souboru a řádek vytištěn atribut CallStack, kdykoli je to možné.

Výstup UMDH vysvětleny

Pokud přesměrována protokolu do souboru (umdh - p: PID-f:umdh.log), jsou podobné následující získaný obsah z spuštěný proces Poznámkový blok:
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
				
Protokol obsahuje výpis všech haldy v procesu. V tomto příkladu protokol začíná na adrese 270000 haldu. Po několika globální čítače pro haldy, protokolu obsahuje výpis v seřazené sestupně podle trasování zásobníku které jsou odpovědné za většinu přidělení. Při porovnání dynamiky paměti, které jsou použity na jiný chvíli může odvodit, co došlo v proces a pokud je podobné nevracení použití haldy.

Problémy, které mohou nastat při použití UMDH

Většinu běžných chyb při použití UMDH dochází, protože zásobník není povoleno trasování. Také zabránit nesprávné symboly pro soubor Ntdll.dll z UMDH spuštěna. Pro ostatní soubory symbolů UMDH spustí, ale soubor protokolu obsahuje zásobník stopy, které nemají názvy funkcí, ale mají relativní adresy uvnitř moduly. Pracoviště třetí chyba je zadání nesprávného PID. Následující výsledky chybová zpráva při pokusu spustit UMDH pro proces, který nemá povoleno trasování zásobníku:
C:\>umdh - p: 1140 UMDH: Logtime 2000-06-28 12: 43 - Machine = vlastní_počítač - PID = 1140 připojení...Modul úplný výčet. SymGetSymFromName (proces, ntdll!RtlpStackTraceDataBase, xxx) selhalo, LastError = 126 UmdhGetAddrFromName nelze najít DB trasování zásobníku ukazatel (ntdll!RtlpStackTraceDataBase). Ntdll.dll symboly jsou nesprávné; jsme musí být vidět než importovat symboly.
Pomocí následujícího příkazu Zkontrolujte nastavení pro proces, který řešíte:
gflags -i APPNAME
Spoléhat na celý systém zásobníku, použijte následující příkaz trasování:
gflags - r
Tyto příkazy zobrazit seznam příznaků pro aplikace. Všimněte si, že v případě trasování zásobníku celého systému, funkce se může zobrazit jako ale pokud nerestartuje počítač po spuštění příkazu gflags r + tvůrcem aktivní, není aktivovaný skutečně. Pokud chcete vědět každý aplikace, která má povoleno trasování zásobníku, můžete zobrazit klíč USTEnabled v následujícím klíči registru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image souboru Možnosti spuštění
Pokud spustit UMDH na proces, který má zásobník trasování povoleno, ale aplikace nebyla restartována, protože nastavit příznaky se může zobrazit zpráva protokolů:
Trasování zásobníku byla pro toto rozdělení není uložen (Index == 0)
Pokud spustíte není nastavena pravděpodobně správná cesta symbol nebo symboly jsou nesprávné a spustit UMDH v protokolu se zobrazí chybová zpráva. Však pouze zobrazí nesprávné nebo callstacks zavádějící. Ověřte, zda máte správné symboly, start Ladění systému NTSD procesu, například:
Poznámkový blok NTSD
Z konzoly ladicí program spusťte LD příkazem načíst informace symbol pro modul a LM seznam, jaké moduly mají jejich symboly načten. Pokud výstup příkazu LM zobrazuje načtené exportovat symboly, symboly nejsou dobré. Pokud Máte symboly PDB načten, symboly jsou dobré. Zobrazí následující chybová zpráva Pokud zadán nesprávný PID:
C:\>umdh - p: 1000 UMDH: Logtime 2000-06-28 09: 45 - Machine = vlastní_počítač - PID = 1000 připojení... OpenProcess se nezdařila, LastError = 0x57

Volání UMDH v jazyce Visual Basic

Může být užitečné někdy časem výpis počet protokolů protože nevracení paměti nemusí být velmi znatelný na první. Například pokud jste podezření, že webové stránky ASP (Active Server) aplikace nevrací paměť, je vhodné psát v jazyce Visual Basic shells out na komponentu modelu COM UMDH. Potom můžete volat tuto součást ze stránky ASP.

Na Následující je kód jazyka Visual Basic, který vyvolá UMDH a vytvoří soubor protokolu který je založen na aktuální čas:
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")
				

UMDH pomocí systému Windows NT 4.0 Service Pack 6a (SP6a)

Nástroj UMDH, který je součástí nástrojů pro ladění Produkty Windows nefunguje v systému Windows NT 4.0. Samorozbalovací spustitelný soubor. (Umdhnt4tools.exe) je součástí tohoto článku a obsahuje následující Nástroje pro použití s NT 4.0:
  • Umdh_nt4.exe a knihovnu Dbghelp.dll
    Toto je v systému Windows NT 4.0 Verze s aktualizací SP6 nástroj UMDH.
  • Dhcmp.exe
    Tento nástroj slouží k porovnání dvou UMDH Vypíše zjistit, kde je možné paměť nevrací zemře.
Na Následující soubor je k dispozici pro stahování Microsoft Download Centrum:
Zmenšit tento obrázekZvětšit tento obrázek
Stáhnout
Stáhnout Umdhnt4tools.exe
Datum vydání: 28. srpna 2002

Další informace o stažení souborů podpory společnosti Microsoft klepněte na následující číslo článku:
119591 Jak získat soubory podpory společnosti Microsoft ze serverů služeb online
Byl zkontrolován tento soubor neobsahuje viry. Společnost Microsoft použila aktuální antivirový software, který byl k dispozici na datum zaúčtování souboru. Soubor je uložen na zabezpečených serverech, které pomáhají zabránit neoprávněné změny souboru. Umístit do složky Umdh_nt4.exe a knihovnu Dbghelp.dll a vložte je nejprve proměnná prostředí PATH. Použijte namísto Umdh_nt4.exe UMDH.

V počítači se systémem Windows NT 4.0 musíte použít Gflags.exe trasování zásobníku celého systému. Například:
gflags - r
Ujistěte se, že restartování počítače. Trasování zásobníku Umdh_nt4 nefunguje na základě procesů v systému Windows NT verze 4.0. Je nastaven pro celý systém.

UMDH_NT4 je na rozdíl od UMDH, ne porovnání souborů protokolu. Například nelze provádět následující:
UMDH_NT4 dh1.log dh2.log > cmp12.txt
Místo toho je nutné použít nástroj Dhcmp.exe, který je součástí Tento článek. Vypadá podobně jako následující příkaz:
DHCMP dh1.log dh2.log > cmp12.txt

Vlastnosti

ID článku: 268343 - Poslední aktualizace: 22. září 2012 - Revize: 13.0
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbdownload kbarttypeshowme kbfile kbgraphxlinkcritical kbhowto kbsample kbmt KB268343 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku: 268343

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com