debugmux : Эльфостроение : Форум |
Страница 1 из 3: [1] 2 3 » |
den_po: |
01.07.09, 09:15 |
Эта хитрая мулька может помочь в отладке эльфов. Ну и не только эльфов Запускаете логгер, подключаете телефон (хоть кабелем, хоть по bluetooth), прога определяет его, открываете print server channel. Откроется окно лога, куда будет сыпаться отладочный вывод. Параллельно логи будут сохраняться в текстовые файлы. Ну а конкретно написанию эльфов прога может помочь, если в эльфе в нужных и не очень местах расставить вызов функции debug_printf. Вот пример, который я публиковал на другом сайте. В нём кроме собственно вызова debug_printf используется простенький класс, использование которого позволяет контролировать вход (если объект создаётся в начале функции) и выход из функции. И ещё используются макросы, автоматически подсовывающие в вывод имена функций (можно и номера строк выводить, и дату, и вообще см. справку) Код: #include "..\\include\Lib_Clara.h" #include "..\\include\Dir.h" class CDbgPrint { char* fl; char* fn; public: CDbgPrint(char* file,char* func){debug_printf("\nfunction enter: %s/%s\n",fl=file,fn=func);} ~CDbgPrint(){debug_printf("\nfunction leave: %s/%s\n",fl,fn);} }; #ifdef NDEBUG #define FUNCTION #else #define FUNCTION CDbgPrint __function((char*)__FILE__,(char*)__FUNCTION__); #endif u16 timer; // ID таймера int lamp=0; // текущая яркость лампы BOOK * HWBook; int TerminateElf(void * ,BOOK* book) { FUNCTION FreeBook(book); return(1); } typedef struct { BOOK * book; }MSG; int ShowAuthorInfo(void *mess ,BOOK* book) { FUNCTION MSG * msg = (MSG*)mess; MessageBox(0x6fFFFFFF,STR("Hello Wordl!\n\nExample elf.."),0, 1 ,5000,msg->book); return(1); } const PAGE_MSG HW_PageEvents[]@ "DYN_PAGE" ={ ELF_TERMINATE_EVENT , TerminateElf, ELF_SHOW_INFO_EVENT , ShowAuthorInfo, 0,0 }; PAGE_DESC base_page ={"HW_BasePage",0,HW_PageEvents}; void elf_exit(void) { kill_data(&ELF_BEGIN, (void(*)(void*))mfree_adr()); } void onTimer (u16 unk , void * data) { FUNCTION { // перезапускаем таймер Timer_ReSet(&timer,500,onTimer,0); // переключаем лампу SetLampLevel(lamp^=0x10); } } void onCloseHWBook(BOOK * book) { FUNCTION if (book) { Timer_Kill(&timer); StatusIndication_ShowNotes(0x6FFFFFFF); SetLampLevel(0); SUBPROC(elf_exit); } } BOOK * CreateHWBook() { FUNCTION HWBook= new BOOK; CreateBook(HWBook,onCloseHWBook,&base_page,"Example",-1,0); return(HWBook); } int main (void) { FUNCTION CreateHWBook(); // выводим текст в "заметки" на StandBy StatusIndication_ShowNotes(STR("Hello World!")); // запускаем таймер на 0.5 сек. timer=Timer_Set(500,onTimer,0); return(0); } Ну и собственно сам вывод: показать: Да, и говорим спасибо Simri Добавлено 1.7.09 09:35 а вот пример того, что без сервисного кабеля не увидеть. это то, что попадает в лог при серьёзных ошибках. в моём случае кривой патч был причиной ребутов при запуске одного из жава-приложений показать: |
Pavlus: |
12.08.10, 20:09 |
den_po, можно как-то заставить его читать лог с самого начала включения телефона? Или только после полного включения? |
Joker XT: |
12.08.10, 20:23 |
Pavlus, можно, сделай себе СЕРВИСНЫЙ КАБЕЛЬ! |
vadbga: |
14.05.11, 16:32 |
4. В окне настроек следует поставить галочку напротив пункта Sony Ericsson Device USB WMC Data Modem Где это я не вижу,как подключать телефон,в каком режиме? [ Редактировано vadbga в 14.5.11 16:33 ] |
toha257: |
14.05.11, 16:42 |
vadbga, в режиме "телефон". У меня он автоматически телефон определил |
vadbga: |
14.05.11, 17:35 |
toha257, режим телефон! Ноль реакции,только комп 2 гудка произнёс и всё! |
toha257: |
14.05.11, 22:10 |
vadbga, а драйвера (не прошивочные) стоят? |
vadbga: |
15.05.11, 05:03 |
toha257, The Gordons Gate driver Какие ещё надо? |
mmcorp: |
15.05.11, 13:21 |
vadbga, нужны драйвера для обычного usb интерфейса (на диске с по должны быть, или скачай с оф. сайта се) |
IDOL1234: |
31.10.11, 23:05 |
Если я не ошибаюсь, эльф Save_CRD_Data сохраняет какой-то отчёт при крахе системы. Но я не понимаю его формат У меня есть 2 окна с заголовком "print server channel". Логи в них разные. В чём разница? Можно ли "научить" программу отсеивать "лишние" сообщения? [ Редактировано IDOL1234 в 31.10.11 22:09 ] |
Страница 1 из 3: [1] 2 3 » |
URL этой темы: https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=4093 © 2005-2018 supertrubka.org |