Есть много вариантов вывода ОИ.
Наиболее часто используемый вариант - это написать маленькую процедуру вывода прямо внутри программы. Задача отладки может усложниться, если программа внезапно вылетит (а за ним и закроется само окошко) или же может возникнуть необходимость отладить DLL файл.
Конечно, можно использовать ф-цию OutputDebugString и программу DbgView, но я решил написать свою, со своими функциями.
Проект состоит из двух частей.
DebugServer.Exe
DebugClient.Dll
Сервер играет роль приемника сообщений от клиента, а клиент получает эти сообщения из программы. Таким образом, удалось сделать вариант универсального приемника сообщений.
Сервером можно управлять двумя способами:
1. Через элементы управления GUI сервера
2. Через програмный интерфейс.
Клиент можно использовать практически из любых языков програмирования, которые могут вызывать DLL процедуры.
Перечень возможностей.
1. Элементы управления GUI сервера.
1.1. Установка/Отмена окна поверх всех. (On Top)
1.2. Зафиксировать положение окна. (Lock)
1.3. Вкл/Выкл автоскроллинга. (Scroll)
1.4. Вкл/Выкл времени вывода информации. (Timer)
1.5. Очистить окно. (Clear)
1.6. Сохранить в файле. (Save To ...)
2. Програмный интерфейс
2.0. Вывод строки
2.1. Вывод нескольких строк (несколько параметров)
2.2. Все ф-ции GUI сервера.
2.3. Изменить размер шрифта
2.4. Изменить позицию окна
Описание команд:
DEBUG sStr - Выводит строку и добавляет возврат каретки
DEBUGV vPar1, vPar2, Vpar3,.... - Выводит переменное количество строк, чисел (любой тип). Маск. кол-во = 8
DEBUGSETCMD lCmd [, sValue] - Програмное управление сервером
Использование и установка.
- Рекомендую копировать сервер и клиент в папку с установленным компилятором. Так легче будет запустить сам сервер.
- Скопировать DebugConst.ini в папку WinApi
- Запустить Debugserver.exe
Простой пример:
- Код: Выделить всё
#COMPILE EXE
#INCLUDE "DebugConst.inc"
FUNCTION PBMAIN
DEBUG "Hello DebugServer!"
END FUNCTION
Архив содержит исходники и скомпилированные слиент, сервер и демонстрационная программа.
Проект вначале был написан используя 7-ую версию компилятора.
Позднее было сделано несколько изменений и был скомпилирован версией 8.03.