Alter.Org.UA  
 << Back Home EN en   Donate Donate www/www1/www2

DbgPrint logger
for
NT3.51/NT4/NT4-TS/w2k/XP/2k3/2k3-r2/Vista and WinPE/BartPE/MobileOS

DbgPrint logger home

History

DbgPrnHk_v9c.rar/tgz (95.6 Kb/117.1 Kb) - archive with all necessary files,
DbgPrnHk_v9c_src.rar/tgz (149.9 Kb/180.2 Kb) - sources,
DbgPrnHk_v9c_sdk.rar/tgz (102.1 Kb/142.2 Kb) - SDK,
DbgPrnHk_v9c_all.rar/tgz (335.2 Kb/439.2 Kb) - all together
  • Добавлена поддержка процессоров i386 и i486, не умеющих RDTSC.
    2011.04.02

    DbgPrnHk_v9a.rar/tgz (94.9 Kb/116.3 Kb) - archive with all necessary files,
    DbgPrnHk_v9a_src.rar/tgz (140.9 Kb/170.3 Kb) - sources,
    DbgPrnHk_v9a_sdk.rar/tgz (102.1 Kb/142.2 Kb) - SDK,
    DbgPrnHk_v9a_all.rar/tgz (325.4 Kb/428.6 Kb) - all together
  • Добавлена экспериментальная возможность обработки INT 3 при работе через COM-порт по протоколу WinDbg.
    2011.03.21

    DbgPrnHk_v9.rar/tgz (94.6 Kb/116 Kb) - archive with all necessary files,
    DbgPrnHk_v9_src.rar/tgz (140.6 Kb/170 Kb) - sources,
    DbgPrnHk_v9_sdk.rar/tgz (102.1 Kb/142.2 Kb) - SDK,
    DbgPrnHk_v9_all.rar/tgz (325 Kb/428.1 Kb) - all together
  • Добавлена возможность принимать логи по протоколу syslog (RFC-3164). Включается ключем
    --in:syslog HOST[:PORT].
    2010.11.27

    DbgPrnHk_v8i.rar/tgz (93.8 Kb/115.1 Kb) - archive with all necessary files,
    DbgPrnHk_v8i_src.rar/tgz (139 Kb/168.4 Kb) - sources,
    DbgPrnHk_v8i_sdk.rar/tgz (102.2 Kb/142.3 Kb) - SDK,
    DbgPrnHk_v8i_all.rar/tgz (322.7 Kb/425.6 Kb) - all together
  • Исправлен ряд глюков в поддержке протокола WinDbg через COM-порт, за что огромное спасибо KtP. Теперь стабильно работает от NT3.51 до Vista.
  • Исправлен глюк в обработке ключика --nowait.
    2008.12.12

    DbgPrnHk_v8g.rar/tgz (93.3 Kb/114.6 Kb) - archive with all necessary files,
    DbgPrnHk_v8g_src.rar/tgz (135 Kb/160.8 Kb) - sources,
    DbgPrnHk_v8g_sdk.rar/tgz (100.3 Kb/139.6 Kb) - SDK,
    DbgPrnHk_v8g_all.rar/tgz (316.3 Kb/414.9 Kb) - all together
  • Добавлена поддержка протокола WinDbg через COM-порт! Работает назависимо от того, какие версии NT ОС установлены на соединенных машинах.
    2008.09.10

    DbgPrnHk_v8d.rar/tgz (85.9 Kb/104.8 Kb) - archive with all necessary files,
    DbgPrnHk_v8d_src.rar/tgz (107.7 Kb/128.7 Kb) - sources,
    DbgPrnHk_v8d_sdk.rar/tgz (61 Kb/69.5 Kb) - SDK,
    DbgPrnHk_v8d_all.rar/tgz (242.9 Kb/302.7 Kb) - all together
  • Добавлена поддержка Windows Vista.
    2008.07.01

    DbgPrnHk_v8c.rar/tgz (85.9 Kb/104.8 Kb) - archive with all necessary files,
    DbgPrnHk_v8c_src.rar/tgz (107.6 Kb/128.6 Kb) - sources,
    DbgPrnHk_v8c_sdk.rar/tgz (61 Kb/69.5 Kb) - SDK,
    DbgPrnHk_v8c_all.rar/tgz (242.8 Kb/302.6 Kb) - all together
    1-апрельский подарок:
  • Починил поддержку NT3.51, сломаную при добавлении syslog.
  • Добавлен ключ --syslog:mtu. Устанавливает максимальный размер пакета (по умолчанию 1024 байта).
    2008.04.01

    DbgPrnHk_v8b.rar/tgz (85.8 Kb/104.7 Kb) - archive with all necessary files,
    DbgPrnHk_v8b_src.rar/tgz (107.6 Kb/128.5 Kb) - sources,
    DbgPrnHk_v8b_sdk.rar/tgz (61 Kb/69.5 Kb) - SDK,
    DbgPrnHk_v8b_all.rar/tgz (242.7 Kb/302.5 Kb) - all together
    Быстрое обновление по мотивам замечаний:
  • Добавлена поддержка множественных выходных потоков (несколько ключиков --out:xxx). Пока по одному потоку каждого типа.
  • Добавлен двоичный формат логов (ключ --raw). Данные сохраняются во внутреннем представлении.
    2008.03.30

    DbgPrnHk_v8a.rar/tgz (85.4 Kb/104.3 Kb) - archive with all necessary files,
    DbgPrnHk_v8a_src.rar/tgz (107.2 Kb/128 Kb) - sources,
    DbgPrnHk_v8a_sdk.rar/tgz (60.9 Kb/69.5 Kb) - SDK,
    DbgPrnHk_v8a_all.rar/tgz (242 Kb/301.4 Kb) - all together
  • По просьбе Angelo Conforti добавлена поддержка протокола syslog (RFC-3164). Включается ключем
    --out:syslog HOST[:PORT].
  • Добавлено преобразование PID в имя процесса (ключ -P).
  • SIgnature Page теперь выделяется в младших физических адресах для ускорения поиска.
    2008.03.30

    DbgPrnHk_v7g.rar/tgz (80.9 Kb/99 Kb) - archive with all necessary files,
    DbgPrnHk_v7g_src.rar/tgz (102.7 Kb/122.2 Kb) - sources,
    DbgPrnHk_v7g_sdk.rar/tgz (34.2 Kb/39.1 Kb) - SDK,
    DbgPrnHk_v7g_all.rar/tgz (207 Kb/260.2 Kb) - all together
  • Исправлена ошибка в заполнении 1-байтовых полей структуры, описывающей состояние и текущие параметры сбора логов при распознавании командной строки. Была ошибка, связаная с тем, что эти поля интерпретировались как 4х-байтовые и происходило наложение. Т.е. попытка изменить одно значение портила еще 3 следующих. В первую очередь это исправление касается KD Extension.
    2007.10.29

    DbgPrnHk_v7f.rar/tgz (80.8 Kb/98.8 Kb) - archive with all necessary files,
    DbgPrnHk_v7f_src.rar/tgz (102.7 Kb/122.2 Kb) - sources,
    DbgPrnHk_v7f_sdk.rar/tgz (34.1 Kb/39 Kb) - SDK,
    DbgPrnHk_v7f_all.rar/tgz (206.9 Kb/259.9 Kb) - all together
  • добавлен ключик --ovw для включения режима записи поверх существующих лог-файлов.
  • добавлена поддержка NT4 Terminal Server (TS). Оказалось, что устройство DbgPrint() там отличается от обычной NT4.
  • убрано ограничение на размер буфера сообщений, связанное с размером NonPagedPool. Теперь если запрашивается слишком большой буфер, он выделяется из PagedPool (которой больше), а потом фиксируется в памяти (MmProbeAndLockPages(), если кто знает).
    2007.10.20

    DbgPrnHk_v7e.rar/tgz (77.6 Kb/95.6 Kb) - archive with all necessary files,
    DbgPrnHk_v7e_src.rar/tgz (95.9 Kb/114.1 Kb) - sources,
    DbgPrnHk_v7e_sdk.rar/tgz (33.7 Kb/38.7 Kb) - SDK,
    DbgPrnHk_v7e_all.rar/tgz (196.7 Kb/248 Kb) - all together
  • добавлен ключик --run для управления режимом работы (сервис/обычное приложение). По умолчанию DbgPrintLog работает как сервис, если его запускают под учетной записью SYSTEM. Но при использовании в Windows PE (WinPE/BartPE/MobileOS) это не очень хороший вариант, т.к. там все запускается под SYSTEM'ом. Используйте --run:user.
    2007.06.06

    DbgPrnHk_v7c.rar/tgz (76.7 Kb/94.6 Kb) - archive with all necessary files,
    DbgPrnHk_v7c_src.rar/tgz (94.9 Kb/112.7 Kb) - sources,
    DbgPrnHk_v7c_sdk.rar/tgz (33.7 Kb/38.7 Kb) - SDK,
    DbgPrnHk_v7c_all.rar/tgz (194.9 Kb/245.5 Kb) - all together
  • исправлена ошибка, с ограничением буфера сообщений до 1Мб.
  • немножко интерфейсных улучшений
  • в снимок состояния системы добавлена информация о наличии подключенного отладчика (типа WinDbg)
  • экспериментальная поддержка NT3.51 на 80386, там где у процессора нет ряда полезный инструкций.
    2007.04.17

    DbgPrnHk_v7b.rar/tgz (75.5 Kb/93.2 Kb) - archive with all necessary files,
    DbgPrnHk_v7b_src.rar/tgz (93.5 Kb/110.2 Kb) - sources,
    DbgPrnHk_v7b_sdk.rar/tgz (33.6 Kb/38.6 Kb) - SDK,
    DbgPrnHk_v7b_all.rar/tgz (192.3 Kb/241.8 Kb) - all together
  • исправлена поддержка NT3.51 в CrossNT.lib, а вместе с ней и в новой логособиралке. Пользуйтесь, я лично проверял работоспособность.
    2007.04.01

    DbgPrnHk_v7a.rar/tgz (74.7 Kb/92.4 Kb) - archive with all necessary files,
    DbgPrnHk_v7a_src.rar/tgz (93 Kb/109.6 Kb) - sources,
    DbgPrnHk_v7a_sdk.rar/tgz (33.7 Kb/38.6 Kb) - SDK,
    DbgPrnHk_v7a_all.rar/tgz (191.1 Kb/240.5 Kb) - all together
  • исправлен сборочный скрипт, а ссылку на предудущую версию с кривыми скриптами (да еще и не собирающуюся из опубликованых исходников) я снес.
  • Библиотека Cross-NT окончательно отделена от DbgPrint SDK.
    2007.02.18

  • Добавлен ключик --drv:reconfig для обновления настроек драйвера в соответствии с изменениями Registry без перезапуска.
  • Добавлена возможность занесения в лог тукущего указателя стека (см. DumpStackFramePtr).
    Для включения записи этого значения в лог-файл успользуется ключ -sfp или --stack_frame_ptr.
  • Добавлена возможность управления из консоли следующими параметрами:
    'I' - CheckIrql
    'P' - DoNotPassMessagesDown
    'O' - StopOnBufferOverflow
    'A' - AggregateMessages
    '?' - получить текущие параметры
  • Слегка улучшен код установки сервиса и драйвера.
  • Исправлена ошибка в команде lsig в KD Extension, из-за которой поиск сигнатуры производился только в первом мегабайте физ. памяти.
  • Исправлена ошибка определения объема памяти в драйвере.
  • Исправлена ошибка в подсчете свободного места в буфере сообщений в драйвере. Проявлялась в том, что даже после вычитывания всех сообщений драйвер считал, что буфер переполнен и накопление сообщений останавливалось.
  • Драйвер полностью переведен на использование Cross-NT библиотеки для поддержки различных версий ОС.
  • И сама библиотека Cross-NT серьезно обновлена и подготовлена к самостоятельному использованию в др. драйверах. Thanks to DeathSoft
    2007.02.16

  • Исправлена ошибка в драйвере - не вызывалась функция IoCompleteRequest() о обработчиках Open/Close. Фактически, это утечка памяти.
  • Исправлена еще одна ошибка в драйвере - неправильно устанавливался указатель на хвост очереди сообщений при переполнении буфера. В результате часть сообщений могла быть продублирована при созранении в файл.
  • В KD Extension исправлен ряд ошибок, приводящих к многократному (повторному) сохранению сообщений в файл.
  • В KD Extension улучшены/исправлены текстовые сообщени.
    2006.12.01

  • На этой страничке исправлена ссылка на версию с поддержкой Windows 2003 Server R2.
    2006.11.16

  • Добавлена поддержка Windows 2003 Server R2! Там приличные изменения в функциях работы с отладочными сообщениями, о которых я напишу чуть позже.
  • Параметры в командной строке теперь можно записывать так:
    --drv:opt OptionName=OptionValue
    
  • Добавлены ключики --drv:deinst, --drv:uninst, --drv:uninstall, --drv:deinstall и аналогично для сервиса: --svc:deinst, и т.д. Исключительно в целях удобства запоминания :)
  • Добавлен ключик -e в команды save и ls в KD Extension, который позволяет извлечь те сообщения, которые уже отмечены как прочитаные (их забрала user-mode часть), но еще не перетертые новыми сообщениями. Полезно для случаев, когда в результате падения системы не все сообщения успели сохраиться в файл.
  • Упорядочен код, компилирующийся в вариантах Unicode и Ansi (для KD Extension).
  • В драйвере исправлен мелкий глюк, из-за которого не выводилась в лог версия драйвера.
    DbgPrnHk_v6e.rar/tgz (72 Kb/89.1 Kb) - archive with all necessary files,
    DbgPrnHk_v6e_src.rar/tgz (89.4 Kb/105.4 Kb) - sources,
    DbgPrnHk_v6e_sdk.rar/tgz (33.2 Kb/38.1 Kb) - SDK,
    DbgPrnHk_v6e_all.rar/tgz (184.8 Kb/232.2 Kb) - all together
    2006.10.27

  • Исправлена ошибка в обработке ключей -s, --max_log_size.
  • Исправлена ошибка в коде установки и удаления драйвера в режиме 1 (--drv:inst 1, самый первый).
  • В Kernel Debugger extension добавлены команды:
    del очистка буфера сообщений на удаленной машине
    pause приостановка/продолжение сбора логов
    drvopt изменение параметров сбора логов на удаленной машине
  • Исправлена ошибка в коде перехвата ф-ции DebugPring для NT 3.51.
  • Улучшена обработка ошибок в коде инициализации драйвера.
  • Появилась возможность вызывать Kernel Debugger при переполнении буфера сообщений. Можно будет их сохранить и продолжить отладку и сбор логов. Включается StopOnBufferOverflow=2
  • Улучшена поддержка NT3.51 благодаря последним достижениям в области GetModuleHandle().
    DbgPrnHk_v6d.rar/tgz (70 Kb/87 Kb) - archive with all necessary files,
    DbgPrnHk_v6d_src.rar/tgz (87.5 Kb/103.6 Kb) - sources,
    DbgPrnHk_v6d_sdk.rar/tgz (32.8 Kb/37.5 Kb) - SDK,
    DbgPrnHk_v6d_all.rar/tgz (180.7 Kb/227.7 Kb) - all together
    2006.09.03

  • Исправлена ошибка в обработке ключей /h и /?.
  • Расширен и улучшен (я надеюсь) синтаксис командной строки. Обратная совместимость естественно сохранена.
  • Исправлена ошибка с не всегда работающим сбросом буфера сообщений при нажатии 'F' в консоли.
  • Вместо exit(xxx); теперь используется return xxx;. И конечно же сделана обработка таких возвратов. Так что при возникновении фатальных ошибок при работе в Service Mode система не будет считать, что сервис просто упал. Вместо этого будет произведена корректная остановка.
  • Добавлен ключик --status, показывающий текущее состояние компонентов.
  • Добавлена поддержка NT3.51 благодаря новой ф-ции GetModuleHandle().
  • В SDK добавлена возможность отправлять нетекстовые (двоичные) сообщения, а в клиент - отображение таких сообщений в виде HEX-дампа.
  • Добавлена возможность более компактного хранения сообщений во внутреннем буфере за счет небольшого уменьшнния точности измерения времени (см. AggregateMessages).
  • Несколько переработана структура каталогов и .H-файлов.
    DbgPrnHk_v6b.rar/tgz (65.8 Kb/82.4 Kb) - archive with all necessary files,
    DbgPrnHk_v6b_src.rar/tgz (79.1 Kb/94.6 Kb) - sources,
    DbgPrnHk_v6b_sdk.rar/tgz (30.8 Kb/35.3 Kb) - SDK,
    DbgPrnHk_v6b_all.rar/tgz (168.2 Kb/211.9 Kb) - all together
    2005.07.22

  • Исправлена ошибка в выводе сообщений об ошибках ;). Unicode-строки выводились как ANSI, в результате показывалась только первая буква строки.
  • Исправлена ошибка в коде модификации адреса вызова при перехвате системного вызова - отключение защиты страниц происходило вне pushfd+cli/popfd.
    Thanks to DeathSoft.
  • Добавлена возможность отключения выходного потока сообщений (--no_out). В этом режиме сообщения складируются только в буфере дравера и могут быть извлечены оттуда с помощью Kernel Debugger extension.
  • Исправлен page-fault в модуле буферизации.
  • Исправлены опечатки и сделана небольшая оптимизация - для константных строк используется memcpy вместо sprintf.
  • В Kernel Debugger extension добавлена опция --last в командах ls/list и save для просмотра N последних сообщений.
  • В Kernel Debugger extension добавлена опция --next в команде ls/list для просмотра очередных N сообщений.
  • В Kernel Debugger extension добавлена команда lsig поиска буфера сообщений по сигнатуре - на случай повреждения системных областей.
  • В Kernel Debugger extension расширены логи и исправлен ряд ошибок.
    DbgPrnHk_v5f.rar/tgz (62 Kb/78.2 Kb) - archive with all necessary files,
    DbgPrnHk_v5f_src.rar/tgz (67.4 Kb/78.8 Kb) - sources,
    DbgPrnHk_v5f_sdk.rar/tgz (17 Kb/18.7 Kb) - SDK,
    DbgPrnHk_v5f_all.rar/tgz (140.5 Kb/175.3 Kb) - all together
    2005.05.23

  • Сделан Kernel Debugger extension для извлечения логов из crashdump'a.
  • Добавлена возможность получения входного потока сообщений из файла и stdin'а.
    DbgPrnHk_v5b.rar/tgz (59.2 Kb/74.9 Kb) - archive with all necessary files,
    DbgPrnHk_v5b_src.rar/tgz (65.7 Kb/76.8 Kb) - sources,
    DbgPrnHk_v5b_sdk.rar/tgz (17 Kb/18.7 Kb) - SDK,
    DbgPrnHk_v5b_all.rar/tgz (136.3 Kb/170 Kb) - all together
    2005.05.13

  • Исправлен баг с неправильной установкой размера буфера в драйвере. Буфер всегда устанавливался размером в 8 сообщений. Из-за этого многие (особенно мелкие и частые) сообщение терялись.
  • Исправлен баг в user-mode клиенте с автоматическим сбросом файлового буфера на диск по истечению таймаута. Таймаут никогда не достигался, т.к. по ошибке сбрасывался счетчик.
  • В user-mode клиенте добавлена горячая клавиша 'H' для выдачи help сообщения о назначении горячих клавиш.
    DbgPrnHk_v5a.rar/tgz (47.4 Kb/59.7 Kb) - archive with all necessary files,
    DbgPrnHk_v5a_src.rar/tgz (58.2 Kb/67 Kb) - sources,
    DbgPrnHk_v5a_sdk.rar/tgz (17 Kb/18.7 Kb) - SDK,
    DbgPrnHk_v5a_all.rar/tgz (117.8 Kb/145 Kb) - all together
    2005.04.25

  • Есть в русском языке неопределенный артикль, использующийся для выражения всего многообразия эмоций. В данном контексте его следует произносить сильно растягивая последюю гласную, с глубоким пониманиям трагизма произошедшего и прикрывая лицо рукой.
    Короче, нашел я страшный баг, существовавший с самой первой версии. А именно - в модуле буферизации вывода размер буфера (по всей видимости в отладочных целях) был установлен в 4 байта (!) вместо положеных 64k. Как наверное легко догадаться, производительность это снижало просто таки немеряно.
    А вылезло это совершенно случайно. Я столкнулся с необходимостью собрать логи от утилиты, мониторящей файловые операции. Оказалось, что более 95% всех отбыли в неизвестном направлении. В процессе расследования были оптимизирована сама мониторящая утилита, драйвер и некоторые куски клиента DbgPrint logger'а, исправлен ряд ошибок (см. ниже), я даже провел исследование зависимости количества выживших логов от размера буфера в драйвере. Но все это оказывало лишь несущественное влияние, в единицы процентов. И вот тогда... я решил увеличить размер буфера в клиенте с 64k до 128k. Зашел в flusher.h, а там....
    Есть в русском языке неопределенный артикль.
  • Исправлена ошибка с неправильными значениями ProcessId в сообщениях приходящих от OutputDebugString()
  • Сделан workaround для корректной обработки отладочных сообщений в кривых контекстах исполнения (когда регистр FS показывает непонятно куда, и как следствие недоступны Process и Thread ID).
  • Все внутренние состояния (переменные, указатели, счетчики, флаги и т.п.) собраны в единую public структуру, указатель на которую экспортируется из модуля драйвера. А сделано это для того, чтобы можно было написать Kernel Debugger Extension для извлечения логов из дампа умершей системы, а также отдельную (не зависящую от наличия Kernel Debugger'а) утилиту для тех же целей.
  • В SDK добавлена возможность отправлять самостоятельно заполненый пакет с отладочным сообщением (timestamp, Process/Thread ID CPU, etc.) непосредственно в очередь сообщений.
    DbgPrnHk_v5.rar/tgz (47.2 Kb/59.5 Kb) - archive with all necessary files,
    DbgPrnHk_v5_src.rar/tgz (53.1 Kb/61.2 Kb) - sources,
    DbgPrnHk_v5_sdk.rar/tgz (17 Kb/18.7 Kb) - SDK,
    DbgPrnHk_v5_all.rar/tgz (112.6 Kb/139 Kb) - all together
    2005.04.16

  • Сделан человеческий способ определения System Account'а - по SID владельца процесса. Раньше определялось по User Name, что есть в корне неверно для не-английской винды.
  • В драйвере работа с Registry Options вынесена в отдельную ф-цию.
    DbgPrnHk_v4f.rar/tgz (46.8 Kb/59 Kb) - archive with all necessary files,
    DbgPrnHk_v4f_src.rar/tgz (51.9 Kb/59.9 Kb) - sources,
    DbgPrnHk_v4f_sdk.rar/tgz (16.5 Kb/17.5 Kb) - SDK,
    DbgPrnHk_v4f_all.rar/tgz (110.6 Kb/136 Kb) - all together
    2005.02.25

  • Изиенен способ передачи сообщений от OutputDebugString() в thread, занимающийся сохранением их на диск. При интенсивном потоке таких сообщений в сочетании с 100% загрузкой процессора терялась часть сообщений из kernel-mode. Поэтому теперь все сообщения передаются драйвер.
    DbgPrnHk_v4e.rar/tgz (46.7 Kb/58.9 Kb) - archive with all necessary files,
    DbgPrnHk_v4e_src.rar/tgz (51.4 Kb/59.3 Kb) - sources,
    DbgPrnHk_v4e_sdk.rar/tgz (15.6 Kb/16.2 Kb) - SDK,
    DbgPrnHk_v4e_all.rar/tgz (109 Kb/134.1 Kb) - all together
    2005.02.25

  • Исправлены глюке при выводе времени с высокой точностью (иногда писался "-" посреди числа).
  • Исправлена ошибка из-за которой для работы с утилитой необходимо было сначала установить драйвер (ключ -drv)
    DbgPrnHk_v4d.rar/tgz (46.5 Kb/58.7 Kb) - archive with all necessary files,
    DbgPrnHk_v4d_src.rar/tgz (51.1 Kb/58.9 Kb) - sources,
    DbgPrnHk_v4d_sdk.rar/tgz (15.6 Kb/16.1 Kb) - SDK,
    DbgPrnHk_v4d_all.rar/tgz (108.6 Kb/133.5 Kb) - all together
    2005.01.16

  • Добавлена опция для загрузки самым первым драйвером.
  • Добавлена возможность отображения номера CPU, на котором было принято сообщение.
  • В SDK добавлена поддержка Kernel Mode.
  • Добавлена возможность использования альтернативных методов получения точного времени debug-messages и управление поведением при переполнении буфера сообщений. См. DbgPrint logger registry settings
    DbgPrnHk_v4c.rar/tgz (46.4 Kb/58.6 Kb) - archive with all necessary files,
    DbgPrnHk_v4c_src.rar/tgz (51 Kb/58.8 Kb) - sources,
    DbgPrnHk_v4c_sdk.rar/tgz (15.5 Kb/16.1 Kb) - SDK,
    DbgPrnHk_v4c_all.rar/tgz (108.3 Kb/133.2 Kb) - all together
    2005.01.16

  • В SDK добавлена поддержка для Native Applications.
  • Добавлена возможность блокировки передачи debug-messages в DebugPrint(). При установке значения DoNotPassMessagesDown в ключе [HKLM\SYSTEM\CurrentControlSet\Services\DbgPrnHk] в DWORD:0x00000001 драйвер будет и дальше отлавливать debug-messages, но не будет передавать управление в настоящую DbgPrint() ни при каких условиях.
    DbgPrnHk_v3b.rar/tgz (38.5 Kb/50.2 Kb) - archive with all necessary files,
    DbgPrnHk_v3b_src.rar/tgz (43.9 Kb/50.5 Kb) - sources,
    DbgPrnHk_v3b_sdk.rar/tgz (14.5 Kb/14.8 Kb) - SDK,
    DbgPrnHk_v3b_all.rar/tgz (92.4 Kb/115.2 Kb) - all together
    2005.01.03

  • Исправлена ошибка в преобразовании TimeStamp'а сообщения из счетчика тактов процессора (QueryPerformanceCounter()/KeQueryPerformanceCounter()) в human-readable формат. Очень помогла статья из MSDN
  • Добавлена возможность выдачи TimeStamp с высокой точностью (до 100нс). Включается при помощи модификатора N в строке формата выдачи времени в ключе -T.
    DbgPrnHk_v3a.rar/tgz (38.4 Kb/50.2 Kb) - archive with all necessary files,
    DbgPrnHk_v3a_src.rar/tgz (31.5 Kb/36.4 Kb) - sources,
    DbgPrnHk_v3a_sdk.rar/tgz (12.3 Kb/12.5 Kb) - SDK,
    DbgPrnHk_v3a_all.rar/tgz (77.9 Kb/98.7 Kb) - all together
    2004.12.17

  • Добавлен SDK для непосредственного общения с log-собирающими утилитами.
  • Добавлена возможность перехвата debug-messages на Irql > DISPATCH_LEVEL. В NT4 это не очень актуально. Хотя документация запрещает использование DbgPrint() на высоком Irql, мой UniATA драйвер пользовался этой функцией вполне успешно. А вот в w2k и старше пошли глюки - действительно нельзя. При установке значения CheckIrql в ключе [HKLM\SYSTEM\CurrentControlSet\Services\DbgPrnHk] в DWORD:0x00000001 драйвер будет и дальше отлавливать debug-messages, но не будет передавать управление в настоящую DbgPrint() при Irql > DISPATCH_LEVEL.
  • В драйвере сделана настройка размера буфера сообщений. Задается значением BufferSize в ключе [HKLM\SYSTEM\CurrentControlSet\Services\DbgPrnHk]. Размер - в Kb. Размер автоматически выравнивается на степень двойки.
  • В заголовок log-файла добавлена информация о Time Zone.
  • Изменен формат выдачи времени. Теперь используется не UTC, а Local Time. Вернуться к UTC можно при помощи модификатора U в строке формата выдачи времени в ключе -T.
  • Исправлена ошибка в обработке переполнения внутреннего буфера сообщений в драйвере. При возникновении переполнения сообщения многократно дублировались, т.к. неправильно обновлялся счетчик непрочитанных сообщений.
    DbgPrnHk_v3.rar/tgz (38.1 Kb/49.9 Kb) - archive with all necessary files,
    DbgPrnHk_v3_src.rar/tgz (31.2 Kb/36 Kb) - sources,
    DbgPrnHk_v3_sdk.rar/tgz (12.3 Kb/12.5 Kb) - SDK,
    DbgPrnHk_v3_all.rar/tgz (77.3 Kb/98 Kb) - all together
    2004.12.11

  • Исправлена ошибка в обработке сообщений от OutputDebugString() длиной более 120 символов. Раньше сообщение просто обрезалось до этой длины, а дальше печатался мусор.
  • В заголовок log-файла добавлена информация о типе процессора и объеме памяти.
    DbgPrnHk_v2k.rar/tgz (37.1 Kb/48.8 Kb) - архив со всеми необходимыми файлами.
    DbgPrnHk_v2k_src.rar/tgz (26.6 Kb/29.9 Kb) - исходники
    2004.11.21

  • Исправлена ошибка синхронизации thread'ов, иногда приводившая к Page Fault'у.
    DbgPrnHk_v2j.rar/tgz (36.6 Kb/48.4 Kb) - архив со всеми необходимыми файлами.
    DbgPrnHk_v2j_src.rar/tgz (26 Kb/29.2 Kb) - исходники
    2004.11.06

  • К информации о Process/Thread Privileges добавлена проверка доступности (может ли данная привилегия быть предоставлена).
  • Исправлена недоработка в коде установки драйвера и сервиса. Предыдущие версии требовали, чтобы для установки драйвера и/или сервиса DbgPrintLog.exe лежал в текущем каталоге.
    DbgPrnHk_v2i.rar/tgz (36.6 Kb/48.4 Kb) - архив со всеми необходимыми файлами.
    DbgPrnHk_v2i_src.rar/tgz (26 Kb/29.2 Kb) - исходники
    2004.11.06

  • В заголовок log-файла добавлена информация о Process/Thread Privileges. Иногда очень помогает.
    DbgPrnHk_v2h.rar/tgz (36.4 Kb/48.2 Kb) - архив со всеми необходимыми файлами.
    DbgPrnHk_v2h_src.rar/tgz (25.9 Kb/29 Kb) - исходники
    2004.10.10

    Добавлено:
  • утилита EchoDbg.
  • создание индексного файла для log-файла - ключ -x. См. *.h в \inc.
  • выделение log-файла необходимого размера заранее - -S switch. См. *.h в \inc.
    DbgPrnHk_v2g.rar/tgz (36.2 Kb/47.9 Kb) - архив со всеми необходимыми файлами.
    DbgPrnHk_v2g_src.rar/tgz (25.5 Kb/28.4 Kb) - исходники
    2004.09.12

    Исправлено:
  • падение при большом потоке сообщений через OutputDebugString()
  • конфликт ключей -t. Теперь -t включает в лог информацию о thread'е, а -T задает формат вывода времени.
    DbgPrnHk_v2f.rar/tgz (28.9 Kb/30.5 Kb) - архив со всеми необходимыми файлами.
    DbgPrnHk_v2f_src.rar/tgz (23 Kb/25 Kb) - исходники
    2004.08.23

    Добавлено:
  • возможность запускать DbgPrintLog как сервис
  • управление порядком загрузки (Boot/System/Automatic/Manual)
  • человеческий формат даты в логах.
    DbgPrnHk_v2e.rar/tgz (28.9 Kb/30.4 Kb) - исполнимые файлы.
    DbgPrnHk_v2e_src.rar/tgz (23 Kb/24.9 Kb) - исходники
    2004.05.09

    Найден и исправлен страшный глюк. В XP и старше все повисало (99% CPU) при выгрузке драйвера
    DbgPrnHk_v2d.rar/tgz (26.3 Kb/27.8 Kb) - исполнимые файлы.
    DbgPrnHk_v2d_src.rar/tgz (19.4 Kb/21.1 Kb) - исходники
    2004.04.28

    Добавлено много параметров и управляющих клавиш, настраивайте на здоровье. :)
    DbgPrnHk_v2b.rar/tgz (26.3 Kb/27.8 Kb) - исполнимые файлы.
    DbgPrnHk_v2b_src.rar/tgz (122.4 Kb/141.5 Kb) - исходники
    2004.04.23

  • Добавлен перехват OutputDebugString().
  • Обработка клавиатуры вынесена в отдельный thread.
    DbgPrnHk_v2.rar/tgz (20.9 Kb/22.2 Kb) - исполнимые файлы.
    DbgPrnHk_v2_src.rar/tgz (17.6 Kb/18.7 Kb) - исходники
    2004.04.19

    DbgPrnHk_v1a.rar/tgz (20.1 Kb/21.3 Kb) - Первая версия.

    DbgPrnHk_v1a_src.rar/tgz (15.9 Kb/17 Kb) - исходники
    2004.04.16


    См. также


    Предложения и замечания слать на Mail to alterX@alter.org.ua (remove X)  
  • Автор: Alter (Александр А. Телятников) Сервер: Apache+PHP под FBSD © 2002-2017