· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Модуль отладочного вывода

Посл.отвђт Сообщенiе


Дата: Окт 12, 2004 13:44:09 · Поправил: nike

А для чего при написании драйвера нужен модуль отладочного вывода?


Дата: Окт 12, 2004 18:52:38

Если скажешь, что это такое, может я скажу для чего :)


Дата: Окт 12, 2004 19:22:03

Это есть модуль, который генерирует Kernel Mode Debug Output через те самые Debug Output API типа DbgPrint и тд...

Собственно такой код в драйвере иметь нужно чтоб дебагить проще было самому же, иначе после каждого бсода репу чесать...

Короче, в мсдн описаны API
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ddtoo ls/hh/ddtools/DebugFns_c5c14a74-7c14-4876-8ffb-d82dddd3e152.xml.asp

у Руссиновича есть утила для мониторинга этого отладочного вывода, уже заточенная под XP SP2
http://www.sysinternals.com/ntw2k/freeware/debugview.shtml
ну и понятное дело она не единственная.


Дата: Окт 13, 2004 12:10:18

Т.е., ты хочешь сказать, что если я просто воткну DbgPrint - это типа и есть "Модуль отладочного вывода"?!


Дата: Окт 13, 2004 16:41:19 · Поправил: Volynkin

хех... ну чтото типа того. Вот только что мешает обернуть тот же DbgPrint в макрос типа:
#if DBG
  #define DebugPrint(_x_) \
    DbgPrint("Packet type - "); \
    DbgPrint _x_;
#else
  #define DebugPrint(_x_)
#endif 

для простого перехода от дебага к релизу и назад.

Или например:
#if DBG
  #define TRAP() DbgBreakpoint()
#else
  #define TRAP()
#endif 

и так далее добавляя соль/сахар по вкусу.

Ну а потом все это завернуть в какой нибудь хедер и будет тебе счастье - "модуль отладочного вывода".


Дата: Окт 13, 2004 16:48:44 · Поправил: Four-F

Ну все так и делают, но никто не называет это "модулем отладочного вывода". Просто Debug Build и всё.


Дата: Окт 13, 2004 17:21:16

И это верно, мы так его и называем.
Вот только nike вычитал об этом в какой то умной книжке или руководстве по DDK, где они это зовут "Отладочный вывод" aka "Debug Output", что собственно и есть поток данных с драйвера в рантайме.
Посмотри хотябы тот же DebugView (ссылка выше). Там у него Debug Output через слово идет. Ну а модуль это и есть враппер всевозможных комбинаций макросов исключительно для чистоты кода.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.057