Консоль отладки в Visual Studio 2008 с устройства Windows CE

Я разрабатываю код для устройства Windows CE 5.0 на базе SH4, используя Visual Studio 2008.

Удаленный отладчик хорош - я могу видеть переменные, устанавливать точки останова и отдельные шаги. Но чего я, кажется, не нашел, так это отладочной «консоли», которая передавала бы строки из моего кода в сам отладчик.

Возможно, дело в том, что использование jQuery (и других веб-технологий) сделало такую ​​отладку само собой разумеющейся, но на самом деле - ее там нет. Я упускаю что-то очевидное?

Я нашел метод OSCapture для хранения журнала отладки (с переворачивание) на самом устройстве. Это все что есть?

ДОБАВЛЕНИЕ:

Инструменты CeLog, CeLogFlush, OSCapture кажутся наполовину тем, что я хочу (ведение журнала на самом целевом устройстве). Но загрузки нет. Являются ли эти части Platform Builder чем-то, и мне не повезло, поскольку на устройстве их еще нет?

ДОБАВЛЕНИЕ II:

Простое использование fprintf () для вывода строк, кажется, помещает их в главное окно приложения. Мне этого достаточно, чтобы начать. Перефразируя, я ищу «fprintf_to_host ()».


person akauppi    schedule 23.06.2011    source источник
comment
Удаленный отладчик также позволяет проверять строковые переменные.   -  person Hans Passant    schedule 23.06.2011
comment
Конечно ... Так вы предлагаете объединить журнал в переменную и посмотреть на это ... Это сработает. Но меня по-прежнему озадачивает отсутствие вывода на консоль как такового. Часто бывает приятно видеть ход событий (а не только их конечное состояние).   -  person akauppi    schedule 23.06.2011
comment
Нет никакого хостингового процесса, который перенаправлял бы вызовы Control.Write () в окно вывода. Вместо этого попробуйте Debug.PrintLine (). OutputDebugString, если вы пишете код на C ++.   -  person Hans Passant    schedule 23.06.2011


Ответы (1)


Я немного не уверен, чего ты хочешь. Я думаю, что вам нужна возможность получать отладочную информацию из вашего приложения и отображать ее в Studio, да? Если это не так, используйте макрос DEBUGMSG, примерно так:

DEBUGMSG(TRUE, (_T("My Variable: %i\r\n"), varname));

Где первый параметр - это условие для фактической печати (так что в этом случае всегда будет печататься), а второй работает как printf для переменных форматирования. Обратите внимание, что это в юникоде.

person ctacke    schedule 23.06.2011
comment
ЭТО ТОЧНО то, что я хотел - спасибо. Не могу поверить, что мне удалось не найти ничего из этого: OutputDebugString, DEBUGMSG, DEBUGCHK, ASSERT, ASSERTMSG. Большое спасибо! - person akauppi; 25.06.2011