Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 18:29, 28 July 2007.

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

From Forum Nokia Wiki

Перевод с английского, оригинальная статья находится здесь.


Contents

Описание

RDebug используется для генерации информационных сообщений (отладочного характера) во время выполнения приложения. Данная возможность особенно актуальна, если, например, использование точек останова невозможно по тем или иным причинам.

Пример использования RDebug:

// код до генерации сообщения
RDebug::Print(_L("### Log %d %08x"), 5, 0xABCDEF12);
// код после

Для того, чтобы увидеть отладочные сообщения такого рода, можно воспользоваться утилитой [DebugView http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx].


Формат, используемый RDebug::Print

Такой же, как и у стандартной функции C printf. Есть одна особенность: при использовании "%S" ожидается указатель на дескриптор - соответственно, для печати, например, TBuf нужно использовать оператор &.

// Печать HBufC
RDebug::Print( _L("Test string: %S"), hbuf );
 
// Печать TBuf
RDebug::Print( _L("Test string: %S"), &tbuf );


Вывод сообщений 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" (см. картинку).

Image:Rdebug_in_carbide.jpg

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

Image:Debug_view_in_carbide.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.

 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX