Forum: PC-Programmierung Kernel Debugging: Ausgabe über KdPrint (WinDbg/Windows)


von Paul (Gast)


Lesenswert?

Hallo,

würde gerne einige Ausgaben während eines Debugvorgang mit KdPrintEx() 
machen.

Habe die Funktion impelmentiert, jedoch kommt es im Debugger Immediate 
Windows zu keiner Ausgabe.

Habe im Netz irgendwas von Filter Masken gelesen müssen die eingestellt 
werden? Wenn ja wo stelle ich diese ein?

Momentan habe ich in der Funktion "DriverEntry" folgende Zeile :
1
KdPrintEx((DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "Testausgabe: DriverEntry\n"));

!Dgbprint gibt die Meldung:
1: kd> !dbgprint
DbgPrint buffer is empty.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Paul schrieb:
> würde gerne einige Ausgaben während eines Debugvorgang

Willst Du denn Kernelmodule debuggen?

Für normale Programme reicht die Win32-API-Funktion OutputDebugString. 
Die funktioniert seit bald einem Vierteljahrhundert.

Beitrag #5018015 wurde vom Autor gelöscht.
von Paul (Gast)


Lesenswert?

Ja es handelt sich um einen Kerneltreiber.

von Fabian O. (xfr)


Lesenswert?

KdPrintEx gibt nur in Debug-Builds (Makro DBG gesetzt) etwas aus. 
DbgPrintEx funktioniert auch in Release-Builds.

Die Filter sind hier beschrieben:
https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/reading-and-filtering-debugging-messages

Ansonsten kann man die Nachrichten auch mit DebugView von Sysinternals 
anzeigen. Mit der Option "Capture" -> "Enable Verbose Kernel Output" 
sollte alles angezeigt werden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.