2014-05-06 18 views

Odpowiedz

6

Brak interfejsu API, który umożliwia dostęp do ciągów wyjściowych za pośrednictwem OutputDebugString.

Istnieją dwa sposoby pozyskiwania danych:

Protokół obsługuje tylko jednego słuchacza, więc pierwsze podejście nie jest kompatybilne z wieloma instancjami aplikacji, innymi aplikacjami wykonującymi tę samą funkcję lub debuggerami. Będzie także przechwytywać dane wyjściowe ze wszystkich aplikacji. To nie jest dobry pomysł. Wspominam o tym tylko dlatego, że jest to oczywiste, ale błędne rozwiązanie.

OutputDebugStringW jest (niezwykle) wrapper wokół OutputDebugStringA, więc ta ostatnia jest funkcją do przechwycenia. Istnieje wiele bibliotek, które ułatwiają nawiązywanie połączeń, więc każde połączenie z numerem OutputDebugString stanie się wezwaniem do zdefiniowanej przez ciebie funkcji i możesz zrobić wszystko, co chcesz, z danymi.

Powiązane problemy