Вывод отладочной информации в IDE — Embarcadero RAD Studio

Иногда во время отладки программы необходимо вывести какие либо флаги, значения, некую, важную нам информацию в режиме реального времени, по типу метода console.log(), который реализован штатно при написании и отладке кода на языке JavaScript.

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

На самом деле не все так сложно. Вообщем, для вывода отладочной информации существует Win API метод OutputDebugString(). Чтобы включить такую возможность, достаточно подключить некий модуль (если необходимо) и настроить вывод нужной информации в окне Event Log: Tools > Options > Debugger Options > Event Log.

Вывод отладочной информации в Delphi

Подключаем в uses модуль - Windows (или Winapi.Windows).
Функция: OutputDebugString('Шаг 1');

uses
  Winapi.Windows;
...
OutputDebugString('Шаг 1');
OutputDebugString(PWideChar('Сколько строк: '+IntToStr(fileList.Count)));

Вывод отладочной информации в C++ Builder

Функция: OutputDebugString("Шаг 1");

OutputDebugString("Шаг 1");
OutputDebugString(L"Шаг 1"); // Для Unicode

 

Для открытия окна EventLog нужно или выбрать пункт в меню - View > Debug Windows > Event Log, или просто нажать комбинацию горячих клавиш Ctrl+Alt+V.

Проверено в Embarcadero RAD Studio XE7. Метод OutputDebugString() работает только в режиме отладки.

Не получается запустить отладку? IDE вываливается с ошибкой EExternalException in module ntdll.dll? Узнайте, как устранить эту ошибку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *