fk0, легенда (21.02.2011 15:02, просмотров: 4662)
MPLAB... отладка под ним заключается в следующем: на PIC18 смотрим листинги, находим адрес переменной, смотрим View->File registers. На PIC24 делаем objdump *.cof, находим адрес, смотрим View->File registers... Какая, к чёрту, это "визуальная source code debugging?" В окне watch видно только одно "Out Of Scope". Иногда глобальные переменные. Больше ничего. Переменную знает -- но out of scope если не глобальная. А вот если мышкой в редакторе навести -- иногда показывает. А иногда не показывает. Как придётся, системы не понял. Как с этом жить? Уже невмоготу совсем. Лучше бы до конца жизни в командной строчке в gdb мудиться, чем такое говно, хуже некуда. :-( Это собственно пол-беды. Беда в том, что *.coff не поддерживает более одного исходного (*.c) файла на модуль, и всё что #include "file.c" невозможно отлаживать. Архитектура ПО такая, что include жизненно нужен (на разных платформах он разный -- слой абстракции, по-другому никак не сделаешь чтоб просто было). Ну соответственно глюкодром при пошаговом исполнении. Нормально только в View->Program memory работает (disassembly listing всё вперемешку адреса -- без бутылки не разобраться). Стек не распечатывает тоже. Я свою программу для распечатки стека в UART имею. MPLAB "немогу и всё тут". Это нифига не source level debugging. Это hex level debugging в самой жуткой форме. Я нормальные "hex-отладчики", вроде SoftICE и т.п. видел как бы между прочим, ещё Turbo debugger помню. Ну не было там такого говна, там хоть хекс-циферки можно было берез извращений через ()() посмотреть. :-( Опять же -- как жить с этим? Фактически вынужден системо-независимый код отлаживать на ПЦ, системо-зависимый -- мелкими кусочками в отдельных нано-проектах с одним *.c где всё глобальное. :-(
[ZX]