Как использовать RDebug
Метаданные
Contents |
Описание
RDebug используется для генерации информационных сообщений (отладочного характера) во время выполнения приложения. Данная возможность особенно актуальна, если, например, использование точек останова невозможно по тем или иным причинам.
Для использования RDebug вы должны подключить заголовочный файл e32debug.h. (В SDK для 2-й редакции класс RDebug объявлен в E32SVR.H)
#include <e32debug.h>Пример использования RDebug:
// код до генерации сообщения
RDebug::Print(_L("### Log %d %08x"), 5, 0xABCDEF12);
// код после
Для того, чтобы увидеть отладочные сообщения такого рода, можно воспользоваться утилитой [DebugView http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx].
Формат, используемый RDebug::Print
Такой же, как и у стандартной функции C printf. Есть одна особенность: при использовании "%S" ожидается указатель на дескриптор - соответственно, для печати, например, TBuf нужно использовать оператор &.
// Печать HBufC
RDebug::Print( _L("Test string: %S"), hbuf );
// Печать TBuf
RDebug::Print( _L("Test string: %S"), &tbuf );
// Используя макрос LINE , обозначающий номер текущей строки
RDebug::Print(_L("Debug on line %d"), __LINE__);
Вывод сообщений RDebug в эмуляторе
При работе эмулятора, сообщения RDebug выводятся:
- В текстовый файл EPOCWIND.OUT, который создается во временном каталоге (TEMP). Где находится временный каталог, можно узнать в переменных окружения операционной системы.
- В отладочную консоль IDE (см. далее).
Для того чтобы разрешить вывод сообщений RDebug, в 3ем издании платформы S60 предусмотрены две настройки в файле \epoc32\data\epoc.ini:
- LogToFile
- LogToDebugger
Пример содержимого epoc.ini для поддержки сообщений RDebug:
LogToFile 1
LogToDebugger 1
Просмотр сообщений RDebug в Carbide.c++
Для этого необходимо использовать настройку "View process output". Для того чтобы разрешить ее, щелкните правой кнопкой по имени проекта, выберите "Debug as | Debug...." и перейдите на закладку "Debugger" (см. картинку).
После того, как эта опция будет разрешена, запустите отладку проекта. Для просмотра отладочных сообщений, щелкните кнопку "Open Console" и выберите пункт меню "Debug Messages" (см. картинку).
Просмотр сообщений RDebug с помощью LogView plugin
RDebug::Print( _L("RDebug Hello") );
Просмотр сообщений RDebug вне IDE
Есть возможность просмотра отладочных сообщений без использования IDE и отладчика, что существенно ускоряет запуск эмулятора (более подробно см. How to debug with emulator on the fly). Для этого можно воспользоваться несколькими утилитами, которые показывают отладочные строки Windows, например DebugView. DebugView позволяет подсвечивать нужные строки, скрывать ненужные.
Помните, что такие приложения могут отображать отладочную информацию других процессов операционной системы, не только вашего приложения, запущенного в рамках эмулятора Symbian. Для комфортного использования применяйте фильтры.
Использование файла epocwind.out
Эмулятор записывает в этот файл отладочную информацию. Это обычный текстовый файл - Вы можете открыть его любым текстовым редактором. Для вывода последних добавленных в файл строк можно воспользоваться свободно распространяемой утилитой tail. Tail - стандартная утилита юникс систем, портированная под Win32. Создайте пакетный файл следующего содержания:
tail -f %temp%\epocwind.out
В результате запуска такого файла, в открывшемся окне Вы будете видеть все вновь добавленные в файл epocwind.out сообщения. Чтобы закрыть окно нажмите Ctrl-C.




(no comments yet)