Udostępnij przez


Wysyłanie danych wyjściowych do debugera

Kod trybu użytkownika i jądra używa różnych procedur do wysyłania danych wyjściowych do debugera.

User-Mode Rutyny wyjściowe

Procedura OutputDebugString wysyła ciąg zakończony o wartości null do debugera procesu wywołującego. W sterowniku trybu użytkownika funkcja OutputDebugString wyświetla ciąg w oknie Polecenie debugera. Jeśli debuger nie jest uruchomiony, ta rutyna nie działa. Funkcja OutputDebugString nie obsługuje argumentów zmiennych ciągu sformatowanego przez printf .

Prototyp tej procedury jest następujący:

VOID OutputDebugString(
   LPCTSTR lpOutputString
   );

Aby uzyskać pełną dokumentację tej procedury, zobacz Komunikacja z debugerem.

procedury wyjściowe Kernel-Mode

Procedury DbgPrint wyświetla dane wyjściowe w oknie debugera. Ta rutyna obsługuje podstawowe parametry formatu printf . Tylko sterowniki trybu jądra mogą wywoływać funkcję DbgPrint.

Rutyna DbgPrintEx jest podobna do dbgPrint, ale umożliwia "tagowanie" komunikatów. Podczas uruchamiania debugera można zezwolić na wysyłanie tylko tych komunikatów z określonymi tagami. Dzięki temu można wyświetlać tylko te komunikaty, które cię interesują. Aby uzyskać szczegółowe informacje, zobacz Odczytywanie i filtrowanie komunikatów debugowania.

Makra KdPrint i KdPrintEx są identyczne z DbgPrint i DbgPrintEx odpowiednio podczas kompilacji w kontrolowanym środowisku budowy. Po skompilowaniu w bezpłatnym środowisku kompilacji nie mają one żadnego wpływu.