From: Sir Richard Date: Sat, 7 Aug 2010 16:16:17 +0000 (+0000) Subject: [NTOS]: Aleksey wants an easy way to see debug messages coming from one process vs... X-Git-Tag: ReactOS-0.3.12~211 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=c444de303a161854dc25b16e901b7c6d32640cc8 [NTOS]: Aleksey wants an easy way to see debug messages coming from one process vs. another, which is an obvious idea that should've done a long time ago. Now you can see who is generating a given debug message (including the thread). svn path=/trunk/; revision=48479 --- diff --git a/reactos/ntoskrnl/kd/kdio.c b/reactos/ntoskrnl/kd/kdio.c index db48c31e227..77531f31611 100644 --- a/reactos/ntoskrnl/kd/kdio.c +++ b/reactos/ntoskrnl/kd/kdio.c @@ -350,9 +350,14 @@ KdpPrintString(LPSTR String, { PLIST_ENTRY CurrentEntry; PKD_DISPATCH_TABLE CurrentTable; - + CHAR Buffer[32]; if (!KdpDebugMode.Value) return 0; + /* Build process name and PID/TID buffer */ + sprintf(Buffer, "[%s (%p:%p)]: ", + PsGetCurrentProcess()->ImageFileName, + PsGetCurrentProcessId(), PsGetCurrentThreadId()); + /* Call the registered handlers */ CurrentEntry = KdProviders.Flink; while (CurrentEntry != &KdProviders) @@ -361,6 +366,9 @@ KdpPrintString(LPSTR String, CurrentTable = CONTAINING_RECORD(CurrentEntry, KD_DISPATCH_TABLE, KdProvidersList); + + /* Send the process name */ + CurrentTable->KdpPrintRoutine(Buffer, sizeof(Buffer)); /* Call it */ CurrentTable->KdpPrintRoutine(String, Length); @@ -371,7 +379,13 @@ KdpPrintString(LPSTR String, /* Call the Wrapper Routine */ if (WrapperTable.KdpPrintRoutine) + { + /* Send the process name */ + WrapperTable.KdpPrintRoutine(Buffer, sizeof(Buffer)); + + /* Send the message */ WrapperTable.KdpPrintRoutine(String, Length); + } /* Return the Length */ return Length;