R0 CREW

Трассировка в IDA vs Remote GDB

Братцы есть вопрос, пытаюсь трассировать прогу для ARM, соответственно она под gdbserver запущена на устройстве, у меня на хосте IDA коннектится как remote gdb debugger. Все работает - бряки ставятся, программа step by step идет, но возникла необходимость трассировки инструкций в файл и тут наткнулся на проблему, привычный пункт меню debugger\tracing\instruction tracing не активен. Почему так? кто сталкивался, может это какая-то особенность remote debugging?

Может это особенность GDB remote, попробуйте с идовым сервером.

спасибо! а как быть если на устройстве файловая система read-only и закинуть туда файл идовского сервера не получится, как думаете?

А кто мешает положить сюда: /data/local/tmp/

так и сделал сразу, но на /data/ida # ./armlinux_server получаю:
/bin/sh: ./armlinux_server: not found
файл на месте и chmod +x сделал. Указание абсолютного пути дает тот же эффект.

А [MDCODE]ls -l[/MDCODE] что говорит?

/data/ida/ # ls -l
-rwxr-xr-x 1 0 0 639284 Apr 16 07:35 armlinux_server

Я уже точно не помню, но почему то я пускал всё всегда из local/tmp.

Создай папку /data/local/tmp/, положи туда armlinux_server и попробуй запустить.

И еще так попробуй:

/data/local/tmp# /bin/sh ./armlinux_server
/data/ida# /bin/sh ./armlinux_server

Android какой версии? Рутованный?

ARM ни Android’ом един

Я тоже решил что он про андроид.

Все верно, это не Android.

не помогло, пишет: armlinux_server: line 1: syntax error: unexpected word (expecting “)”)
что самое интересное /data прописан в PATH и другие программы оттуда запускаются.

Братцы! Я сделал, что хотел!:slight_smile: вообщем идовский сервер так и не запустился, и я вернулся к gdbserver, так вот, если в теле программы поставить бряк и в опциях этого самого бряка поставить галку enable tracing, а ниже поставить бряк и выбрать галку disable tracing, то все, что между этими бряками трассируется в file tracing без проблем! Всем спасибо за участие.