×
Namespaces

Variants
Actions

Как использовать RDebug

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Статья
Перевод:
Оригинал: How to use RDebug
Den123
Последнее редактирование: hamishwillee (09 Dec 2011)

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" (см. картинку).

Rdebug in carbide.jpg

После того, как эта опция будет разрешена, запустите отладку проекта. Для просмотра отладочных сообщений, щелкните кнопку "Open Console" и выберите пункт меню "Debug Messages" (см. картинку).

Debug view in carbide.jpg

Просмотр сообщений RDebug с помощью LogView plugin

RDebug::Print( _L("RDebug Hello") );

LogView plugin

Logview1.JPG

Logview2.JPG

Просмотр сообщений 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.

This page was last modified on 9 December 2011, at 04:59.
87 page views in the last 30 days.
×