Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A DTrace lehetővé teszi az élő helyzetkép rögzítését a D-szkripten belülről az lkd() használatával. A memóriaképfájlok a Windows hibakeresővel végzett összetett problémák hibakeresésére szolgálnak a Windowsban. További információ: Összeomlási memóriaképfájlok elemzése a WinDbg használatával. A hibakereső letöltéséhez lásd a WinDbg Windows hibakereső letöltését és telepítését.
A DTrace élő kirakodása lehetővé teszi a kirakodás indítását a hiba előfordulásának pontos helyén. A hiba lehet például egy függvény, amely hibát ad vissza. A DTrace segítségével csatlakozhat ehhez a függvény visszatéréshez, és elindíthat egy élő állapotmentést, ha a visszatérési érték "hiba".
Megjegyzés:
A DTrace az 18980-es és a Windows Server 18975-ös build után támogatott a Windows Insider-buildjeiben.
A DTrace windowsos használatával kapcsolatos általános információkért lásd: DTrace.
DTrace élő adatmentés használata
Használat: lkd (paraméter);
Az alábbi beállítások segítségével módosíthatja, hogy milyen információkat tartalmaz az élő mini dump.
0x0 – Teljes kernelkép (alapértelmezett érték)
0x1 – Felhasználói lapok és kernellapok (csak KD csatolással működik)
0x2 – Minidump
0x4 – Hyper-V lapok és kernellapok)
0x5 – Felhasználói, kernel- és hipervizoroldalak.
Élő memória dump példakódja
#pragma D option destructive
inline uint32_t STATUS_UNSUCCESSFUL = 0xc0000001UL;
syscall:::return
{
this->status = (uint32_t)arg0;
if (this->status == STATUS_UNSUCCESSFUL)
{
printf ("Return value arg0:%x \n", this->status);
printf ("Triggering LiveDump \n");
lkd(0);
exit(0);
}
}
Mentse a fájlt a következőként: livedumpstatuscheck.d.
Nyisson meg egy parancssort rendszergazdaként, és futtassa a szkriptet a -s beállítással.
C:\Windows\System32>dtrace -s livedumpstatuscheck.d
dtrace: script 'livedumpstatuscheck.d' matched 1881 probes
dtrace: allowing destructive actions
CPU ID FUNCTION:NAME
0 93 NtAlpcSendWaitReceivePort:return Return value arg0:c0000001
Triggering LiveDump
A létrehozott memóriaképfájl általában a következő helyen található: C:\Windows\LiveKernelReports.
Ha a dump fájl helye megváltozott, az érték ebben a beállításkulcsban lesz tárolva: hklm\system\currentcontrolset\control\crashcontrol\livekernelreports
A WinDbg használatával a fent ismertetett memóriaképfájllal dolgozhat.
Hibaelhárítás
Folyamatos memóriaképhez kapcsolódó események megtekintése
Nyissa meg a Windows Eseménynaplót: Ugrás az Alkalmazások és szolgáltatások naplóihoz - Microsoft - Windows - Kernel - Livedump - Operational>>>>
Ha nem talált naplókat, engedélyezze az elemzési csatornát a parancssorból vagy az eseménynaplóból az alábbiak szerint.
Elemzési csatorna engedélyezése parancssorból
Ezzel a paranccsal engedélyezheti az elemzési csatornát egy rendszergazdai jogosultságú parancssorból.
wevtutil sl Microsoft-Windows-Kernel-LiveDump/Analytic /e:true
Elemzési csatorna engedélyezése az Event Viewer használatával
A Windows eseménynapló indítása
Kattintson a Megtekintés gombra, és jelölje be a "Elemzési és hibakeresési naplók megjelenítése" jelölőnégyzetet. Ekkor megjelenik a livedump elemzési csatornája.
Kattintson a jobb gombbal, és engedélyezze a Microsoft-Windows-Kernel-LiveDump/Analytic parancsot.
Teljes élő memóriaképek engedélyezése
Az alábbi példabeállítások azt mutatják, hogy az adott időpontban a lemezen lévő teljes élő memóriaképek maximális száma 10 lehet, és a teljes memóriaképeket tárolják, nem csak egy mini memóriaképet.
reg add "HKLM\System\CurrentControlSet\Control\CrashControl\FullLiveKernelReports" /f /t REG_DWORD /v FullLiveReportsMax /d 10
reg add "HKLM\System\CurrentControlSet\Control\CrashControl" /f /t REG_DWORD /v AlwaysKeepMemoryDump /d 1
További információ ezekről a beállításokról: WER-beállítások.
Korlátozás letiltása
A terhelés szabályozása olyan funkció, amely megakadályozza, hogy a memóriaképfájlok és a naplózási rendszer befolyásolják a Windows normál használatát. Ez a funkció akadályozhatja a valós idejű memória-kiírások létrehozását bizonyos erőforrás-korlátozott környezetekben.
Ellenőrizze az élő memóriadump szabályozás beállításait, és ha szükséges, próbálkozzon újra a szabályozás letiltásával. Ehhez állítsa a SystemThrottleThreshold és a ComponentThrottleThreshold kulcsokat nullára a következő módon.
reg add "HKLM\System\CurrentControlSet\Control\CrashControl\FullLiveKernelReports" /f /t REG_DWORD /v SystemThrottleThreshold /d 0
reg add "HKLM\System\CurrentControlSet\Control\CrashControl\FullLiveKernelReports" /f /t REG_DWORD /v ComponentThrottleThreshold /d 0
Lemezterülettel kapcsolatos problémák (202-es eseményazonosító -Error Szöveg: Az élő memóriakép-írás késleltetett memóriakép-adat API véget ért. NT állapota: 0xC000007F.)
Ez azt jelenti, hogy a lemezterület nem elegendő. Frissítse az alább látható beállításkulcsot az élő memóriakép létrehozási elérési útjának módosításához, ebben a példában a D: meghajtóra, amely további tárterülettel rendelkezik.
reg add hklm\system\currentcontrolset\control\crashcontrol\livekernelreports /v "LiveKernelReportsPath" /t reg_sz /d "\??\d:\livedumps"
Ez a parancs az élő dump gyökérútvonalát d:\livedumps állítja be (példaként).
Ne hozza létre manuálisan a mappát, mert azt az operációs rendszer kezeli, és akkor jön létre, amikor a dumpot a megfelelő engedélyekkel elindítják.