Поделиться через


Использование Logger.exe

Одним из способов активации средства ведения журнала является запуск автономной программы Logger.exe. По сути, это очень маленький отладчик, который может принимать только один целевой объект. Чтобы запустить его, добавьте в командную строку имя целевого приложения:

logger Target 

При активации оно загрузит указанное приложение и вставляет код в целевое приложение, который будет переходить к подпрограмме, которая загружает и инициализирует Logexts.dll в процессе целевого приложения. Это называется внедрением средства ведения журнала в целевое приложение.

Программа Logger.exe и модуль Logexts.dll являются двумя компонентами этого средства ведения журнала. Они обмениваются данными через общий раздел памяти, включающий дескрипторы выходных файлов, текущую маску категории и указатель на буфер вывода журнала.

Появится окно с названием Средство ведения журнала (отладчик). В этом окне будет отображаться ход выполнения средства ведения журнала.

Диалоговое окно "Изменение параметров"

После завершения инициализации и завершения начального отображения появится диалоговое окно Изменение параметров . Это позволяет настроить параметры средства ведения журнала. Здесь описаны различные параметры:

Параметры API
В этом списке отображаются доступные категории API. Выделенные категории будут записаны в журнал; не выделенные категории не будут. При первом запуске средства ведения журнала будут выделены все категории. Однако при последующих запусках средство ведения журнала будет отслеживать, какие категории выбраны для данного целевого приложения.

Если категория отключена, перехватчики для всех API в этой категории будут удалены, чтобы больше не было накладных расходов на производительность. Перехватчики COM не удаляются, так как их невозможно повторно включить по мере возможности.

Включение только определенных категорий может быть полезно, если вас интересует только определенный тип взаимодействия программы с Windows, например операции с файлами. Это уменьшает размер файла журнала, а также снижает влияние средства ведения журнала на скорость выполнения процесса.

Ведение журнала
В этом разделе содержатся переключатели "Включить " и "Отключить ". Отключение ведения журнала приведет к удалению всех перехватчиков API, чтобы позволить программе работать свободно. Перехватчики COM не удаляются, так как их невозможно повторно включить по мере возможности.

Включение и список исключений
Этот раздел управляет списком включения и исключения модулей. Часто желательно регистрировать только те вызовы функций, которые выполняются из определенного модуля или набора модулей. Чтобы упростить это, Средство ведения журнала позволяет указать список включения модулей или, в качестве альтернативы, список исключений модулей. Например, можно использовать список включения, если требуется регистрировать вызовы только из одного или двух модулей. Если вы хотите регистрировать вызовы, сделанные из всех модулей, за исключением короткого списка модулей, используйте список исключений. Модули Logexts.dll и Kernel32.dll всегда исключаются, так как средство ведения журнала не может регистрировать себя.

Очистка буфера
Эта кнопка очищает текущий выходной буфер. Учитывая производительность, выходные данные журнала сбрасываются на диск только при заполнении выходного буфера. По умолчанию буфер составляет 2144 байта.

Так как буферная память управляется целевым приложением, автоматическая запись буфера в файлы журнала на диске не будет выполняться в случае нарушения доступа или другой невосстановимой ошибки в целевом приложении. В таких случаях следует попытаться активировать окно целевого приложения и нажать клавишу F12, чтобы вернуть это диалоговое окно, а затем нажать клавишу Очистка буфера. Если этого не сделать, последние функции, зарегистрированные в журнале, могут не отображаться в файлах журнала.

Пойти
Это приводит к началу выполнения целевого приложения.

Запуск целевого приложения

Выбрав параметры, нажмите кнопку Перейти. Диалоговое окно закроется, и целевое приложение начнет выполняться.

Если сделать окно целевого приложения активным и нажать клавишу F12, оно перервется в средство ведения журнала. Это приведет к тому, что целевое приложение зависнет, а диалоговое окно Изменение параметров снова появится. При желании можно изменить параметры, а затем нажать кнопку Go , чтобы продолжить выполнение.

Вы можете разрешить целевому приложению работать до тех пор, пока вы хотите. Если он завершается нормально или из-за ошибки, ведение журнала будет остановлено и не может быть перезапущено.

Когда вы хотите выйти, выберите Файл | Закройте и выберите Да. Если целевое приложение по-прежнему работает, оно будет завершено.

Ограничения Logger.exe

При запуске средства ведения журнала с помощью средства Logger.exe будет создан только один выходной файл — LGV-файл. Текстовый файл не записывается. Однако будет создан .txt файл нулевого размера; это может перезаписать текстовый журнал, записанный ранее отладчиком.

Выходной файл всегда будет помещаться в подкаталог LogExts рабочего стола; это расположение нельзя изменить.

Эти ограничения не будут применяться, если вы запускаете средство ведения журнала через отладчик и Logexts.dll.