| Удаленная отладка на Symbian 9.x | |
|
|
Автор | Сообщение |
---|
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Удаленная отладка на Symbian 9.x Пн 13 Ноя - 4:54 | |
| Несмотря на то, что у нокии есть даже видео ролик о том как его настроить, в жизни все оказывается совсем по другому. Что для этого нужно: 1) Code Warrior 3.1 2) Поставить апдейт до 3.1.1 3) установить файл S60_App_TRK_2_6.sisx на девайс Сначала настраиваем девайсПодключаем девайс к компу(всякие там PC Suite должны быть закрыты) и запускаем MetroTRK на девайсе. Нужно перенастроить его на работу по кабелю, потому что изначально он хочет работать по блутусу. А если работать по блутусу, то нужен widcomm стек, чтобы потом нормально настроить Codewarrior. Поэтому проще настроить дебаг по кабелю. Чтобы настроить работу по кабелю: "menu" - "settings" выставить "connection" в "USB". Port = 1, Baud rate = 115200. На девайсе загорится "Status: Connected", а на компе появится новый COM порт с именем "Nokia E60 USB". Номер этого порта нужно будет потом указать в CodeWarrior. Теперь надо настроить codewarriorПри импорте проекта (т.е. mmp файла через "File" - "Import Project from .mmp file") в окне "mmp file selection" прописать в поле "platform selection" платформу gcce. В окне "PKG / SIS Installation Options" указать путь к pkg файлу (обычно его путь: \имя_проекта\sis\имя_проекта_gcce.pkg), поставить птичку "Sign Sis File" и прописать пути к файлу сертификату и ключу. Если ключа и сертификата еще нет - нужно его сгенерить командой: - Код:
makekeys -cert -dname "CN=Symbian OU=Development OR=Symbian Ltd CO=GB" mykey.key mycert.cer
Потом, когда оно закончить обрабатывать mmp файл, нужно открыть .pkg файл и прописать там все пути абслолютными. Хоть у CodeWarrior и есть конфигурации Environment, почему-то он все равно их не воспринимает и говорит, что не знает EPOC_ROOT. Проверьте чтобы пути в .pkg были правильными, потому что мы будем билдить конфигурацию udeb, а пути изначально захардкожены на urel. Если каких-то файлов вообще нет, уберите их пути из pkg. Настраиваем дальше удаленную отладку в CodeWarrior. Заходим "edit" - "preferences" - "Debugger" - "remote connections" в списке выбираем "Symbian MetroTRK" и жмем "change". В окне "Symbian MetroTRK" выставляем тот порт, который появился в системе после того как настроили MetroTRK на девайсе. Теперь идем в "Edit" - "GCCE UDEB Settings" - "Debugger" - "Remote Debugging" и ставим "connection" - "Symbian MetroTRK". Далее, тут же в "Debugger", "Remote Download" удаляем все что там есть в списке. Это список того, что будет заливаться на девайс. На нокиях ничего кроме sisx файла залить не выйдет. А, те файлы которые тут указаны, уже содержатся в sisx файле и при попытке их залить TRK будет говорить, что не может залить приложение на девайс. И это действительно так потому, что тут пути указаны в с:\system\private. А туда писать в Symbian 9 просто так нельзя. Короче удалить эти "файлы для заливки" и все. Опять, тут же в "Debugger" - "Symbian TRK Debugging" ставим птичку "Install for each debug", а то будет исталировать только один раз и не будет обновлять файлы. И птичку "use sis installation process". В поле "host path for sis" имя sis файла нужно указать точно такое же как указано в "GCCE UDEB Settings" - "Linker" - "Symbian Installation" - "Output file name" и "Signed File Name". Только после всего этого, выбрав конфигурацию "GCCE UDEB" проект будет скомпилен, подписан, залит на девайс и запустится дебагер. |
|
 | |
wl
Количество сообщений : 127 Дата регистрации : 2007-02-15
 | Тема: Re: Удаленная отладка на Symbian 9.x Вт 23 Окт - 2:22 | |
| настроил удаленную отладку своего p990 через Carbide.c++ правда не знаю, для чего её применить. по ассемблеру похоже не погуляешь |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Вт 23 Окт - 3:19 | |
| Это да. Зато дебагер может читать области памяти доступные только из kernel mode + регистры  |
|
 | |
wl
Количество сообщений : 127 Дата регистрации : 2007-02-15
 | Тема: Re: Удаленная отладка на Symbian 9.x Сб 22 Дек - 3:15 | |
| вот бы плагин удаленной отладки прикрутить к иде, было бы вообще замечательно... |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Сб 22 Дек - 15:03 | |
| Уже начал. Да все времени нет. Может на праздниках сделаю. Но там у меня уже много чего назрело: процессорный модуль ARM, загрузчик ELF, дебагер симбиан, пофиксить экспорты в лоадере epoc. |
|
 | |
wl
Количество сообщений : 127 Дата регистрации : 2007-02-15
 | Тема: Re: Удаленная отладка на Symbian 9.x Вс 23 Дек - 9:42 | |
| а это что, правда реально? как мне кажется, тут главная проблема - как его подключить к иде, а сам механизм подключения наверняка можно подсмотреть в исходниках эклипса
если получится, то это будет серьезный прорыв, и такой инструмент лучше не выкладывать на паблик |
|
 | |
twit
Количество сообщений : 57 Дата регистрации : 2007-07-24
 | Тема: Re: Удаленная отладка на Symbian 9.x Вс 23 Дек - 12:39 | |
| - Цитата :
- и такой инструмент лучше не выкладывать на паблик
ато у ильфака появится  |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Вс 23 Дек - 13:22 | |
| Выложу бинарь без сорцов. Если хочет - пусть декомпилирует  |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Пн 14 Янв - 2:46 | |
| Если кто-то думает, что я забил на дебагер Symbian для иды, то это совсем не так.
На текущий момент уже получается запускать процесс на дебаг/отключать дебаг, ставить/убирать бряки, читать регистры и память. Херня вот только, в том что TRK не дает читать память ROM. В версии 2.6 уже стоит искусственная проверка адреса. Если в пределах ROM - имитирует ошибку чтения. По сорцам TRK видно, что в оригинале, такой проверки не было. Люди, если у кого-то есть sis'ы TRK версии 2.5 и ниже - давайте их сюда!
Иначе получается муть, код при старте пропатчивается адресами ведущими в ROM. А посмотреть куда оно ведет - невозможно. Получается примерно тоже самое, что было с загрузчиком EPOC когда он не умел парсить импорты. |
|
 | |
wl
Количество сообщений : 127 Дата регистрации : 2007-02-15
 | Тема: Re: Удаленная отладка на Symbian 9.x Пн 14 Янв - 4:19 | |
| а он точно есть для девятки? есть небольшая вероятность, что он был, к примеру, в Carbide.c++ 1.1. Но вероятность нулевая практически
как вариант, может попробовать изменить loader так, чтобы на этапе загрузки к импортам приписывались комментарии с названиями импортов? или это не поможет?
Последний раз редактировалось: (Пн 14 Янв - 4:23), всего редактировалось 1 раз(а) |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Пн 14 Янв - 4:44 | |
| - wl пишет:
- а он точно есть для девятки? есть небольшая вероятность, что он был, к примеру, в Carbide.c++ 1.1. Но вероятность нулевая практически
Ну не мог же TRK начаться с версии 2.6  Должен же быть и 2.5. Правда сорцы у меня от 1.1 .  - wl пишет:
как вариант, может попробовать изменить loader так, чтобы на этапе загрузки к импортам приписывались комментарии с названиями импортов? или это не поможет?
Ну преставь себе call stack в котором тока f8xxxxxx и никаких имен. Афигенно да? |
|
 | |
wl
Количество сообщений : 127 Дата регистрации : 2007-02-15
 | Тема: Re: Удаленная отладка на Symbian 9.x Пн 14 Янв - 4:57 | |
| ну я имел в виду, что 2.5 было для предыдущей оси, а с 2.6 - уже под 9-ку.
а можно посмотреть, что уже есть. Дело в том, что на uiq3 всё равно trk приходится самому подписывать, щаз пропатчу его и погляжу, чем чтение из рома поможет отладке |
|
 | |
wl
Количество сообщений : 127 Дата регистрации : 2007-02-15
 | Тема: Re: Удаленная отладка на Symbian 9.x Пн 14 Янв - 7:56 | |
| а кстати, как из одной программы внедриться в чужой процесс и поменять там что-нибудь? Раньше кажется для этого использовался RDebug, а сейчас оттуда экспортируются только три функции вида Print*. есть какой-то еще Kern::ThreadRawRead и подобные, хватт ли для них обычных капсов обычной программе? |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Пн 14 Янв - 8:55 | |
| - wl пишет:
- а кстати, как из одной программы внедриться в чужой процесс и поменять там что-нибудь? Раньше кажется для этого использовался RDebug, а сейчас оттуда экспортируются только три функции вида Print*.
Хз. никогда это не делал. - wl пишет:
есть какой-то еще Kern::ThreadRawRead и подобные, хватт ли для них обычных капсов обычной программе?
TRK юзает Kern::ThreadRawRead в драйвере. Без капсов никуда. |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Пн 14 Янв - 8:57 | |
| - wl пишет:
- а можно посмотреть, что уже есть.
Оно ща в состоянии pre-alpha. Там все жестоко захардкожено. Т.е. потестить могу пока только я. Постараюсь до конца недели сделать хотябы альфу  |
|
 | |
intro

Количество сообщений : 34 Дата регистрации : 2007-03-23
 | Тема: Re: Удаленная отладка на Symbian 9.x Пн 14 Янв - 23:47 | |
| - Hex пишет:
Ну не мог же TRK начаться с версии 2.6 Должен же быть и 2.5. Правда сорцы у меня от 1.1 . 
вполне вероятно что сорцы у тебя не от S60, а от UIQ. так как в Carbide v1.2 наряду с s60_3_0_app_trk_2_7.sisx и s60_3_1_app_trk_2_7.sisx есть ещё TRK_ 1.10_P800.sis |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Вт 15 Янв - 3:09 | |
| - intro пишет:
вполне вероятно что сорцы у тебя не от S60, а от UIQ.
Блин, так и есть Получается что p800 - самый хацкерский symbian телефон  Но все таки, где-то должны же быть TRK предидущих версий... |
|
 | |
[HEX]
Количество сообщений : 5 Дата регистрации : 2008-01-15
 | Тема: Re: Удаленная отладка на Symbian 9.x Вт 15 Янв - 4:57 | |
| Hex: я так понимаю тебе S60_3_0_App_TRK_2_6.sisx не требуется? Более раннего не видел. Ну и ждем хотя бы альфу.  |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Вт 15 Янв - 6:22 | |
| Аттача к процессам не будет. Не реализовано на стороне TRK на девайсе.  |
|
 | |
Kwull

Количество сообщений : 17 Дата регистрации : 2007-04-04
 | Тема: Re: Удаленная отладка на Symbian 9.x Вт 15 Янв - 11:18 | |
| Как нет аттача к процессам? Пробовал из карбида на w950 удаленную отладку в режиме System TRK (есть еще Application TRK)... Можно останавливать для отладки любой заупущенный процесс/поток + просмотр памяти процесса... Пробовал вводить предпологаемые адреса imei и серийника заполученые через иду, так все ок... все отлично видно
Даже пытается дизассемблировать... но чтото пока не очень... раз вышло, а потом вылетало на адреса f8.... с ff ff ff....
p.s. UIQ_3_0_app_trk_2_8_b10 |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Вт 15 Янв - 13:58 | |
| - Kwull пишет:
- Как нет аттача к процессам? Пробовал из карбида на w950 удаленную отладку в режиме System TRK (есть еще Application TRK)... Можно останавливать для отладки любой заупущенный процесс/поток + просмотр памяти процесса... Пробовал вводить предпологаемые адреса imei и серийника заполученые через иду, так все ок... все отлично видно
Даже пытается дизассемблировать... но чтото пока не очень... раз вышло, а потом вылетало на адреса f8.... с ff ff ff....
p.s. UIQ_3_0_app_trk_2_8_b10
А ведь действительно есть, это в сорцах нету, ща в драйвере вижу что можно! |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Вт 15 Янв - 15:45 | |
| Мля не получается атачиться. Можешь мне сделать лог в каком-нить снифере COM порта как делается атач? |
|
 | |
Zorn
Количество сообщений : 45 Дата регистрации : 2007-05-28
 | Тема: Re: Удаленная отладка на Symbian 9.x Вт 15 Янв - 18:59 | |
| - Hex пишет:
- Херня вот только, в том что TRK не дает читать память ROM. В версии 2.6 уже стоит искусственная проверка адреса. Если в пределах ROM - имитирует ошибку чтения.
А исполнять код в РОМ он умеет пошагово, вслепую (предполагаю что нет, но мало ли  ) ? Вопщем если умеет, можно подсовывать данные из дампа (если это возможно) чтоб не всепую трэйсить. Т.е. если адрес пренадлежит РОМу - читать из дампа (предварительно его загрузив) а выполнять с помощью ТРК, на девайсе. Ну это как крайний вариант, если не найдется ТРК без запрета на чтение РОМ. |
|
 | |
Hex

Количество сообщений : 397 Возраст : 36 Дата регистрации : 2006-07-12
 | Тема: Re: Удаленная отладка на Symbian 9.x Ср 16 Янв - 1:52 | |
| Придется делать файл с "символами" чтобы показывать правильные имена для адресов в ROM. |
|
 | |
Kwull

Количество сообщений : 17 Дата регистрации : 2007-04-04
 | Тема: Re: Удаленная отладка на Symbian 9.x Ср 16 Янв - 2:36 | |
| Вот логи от trk в режиме application и system с аттачем к процессу и чтением памяти: http://www.kwull.com/symbian/trk-com.zipчтение участка памяти приаттаченого процесса(виден имей и прочитайный из файла серийник): trk-com\trk_sys_full_primatech_contacts_attach_read_memm_0x400010.htm: Запрос:16.01.2008 11:15:01.86364 (+0.0000 seconds) 7E 10 CB 08 01 00 F8 03 87 00 00 00 01 44 00 00 ~.Ë...ø.....D.. 01 45 0E 7E .E.~ Ответ:16.01.2008 11:15:01.87964 (+0.0156 seconds) 7E 80 CB 20 94 7E ~Ë ~ Запрос:16.01.2008 11:15:01.87964 (+0.0000 seconds) 7E 10 CC 08 01 00 F8 03 86 00 00 00 01 44 00 00 ~.Ì...ø.....D.. 01 45 0E 7E .E.~ Ответ:16.01.2008 11:15:01.89464 (+0.0156 seconds) 7E 80 CC 20 93 7E ~Ì ~ Запрос:16.01.2008 11:15:01.11364 (+0.2188 seconds) 7E 10 CD 08 01 00 F8 03 88 00 00 00 01 44 00 00 ~.Í...ø.....D.. 01 45 0B 7E .E.~ Ответ:16.01.2008 11:15:01.12964 (+0.0156 seconds) 7E 80 CD 20 92 7E ~Í ~ Запрос:16.01.2008 11:15:06.41064 (+4.2813 seconds) 7E 10 CE 08 01 00 00 40 00 00 00 00 01 44 00 00 ~.Î....@.....D.. 01 45 4D 7E .EM~ Ответ:16.01.2008 11:15:06.42564 (+0.0156 seconds) 7E 80 CE 00 01 00 FF FF FF FF 00 00 00 00 58 73 ~Î...ÿÿÿÿ....Xs 71 00 38 73 71 00 33 35 32 38 36 33 30 31 33 31 q.8sq.3528630131 33 33 32 33 31 00 00 31 32 33 34 35 36 37 38 39 33231..123456789 30 31 32 33 34 35 36 37 00 00 03 00 00 30 0A 00 01234567.....0.. |
|
 | |
Спонсируемый контент
 | Тема: Re: Удаленная отладка на Symbian 9.x  | |
| |
|
 | |
| Удаленная отладка на Symbian 9.x | |
|