Руководство по отладке машинного кода.
Должны быть установлены родные функции Sequoyah Native Debug . Вы можете установить их с сайта обновлений Sequoyah :
Если необходимо он будет устанавливать зависимости CDT:
1) платформа Android должна быть 2,2 (Android-8)
2) NDK версия должна быть R4b (он содержит необходимые исправления для НДК-GDB)
3) Должен быть установлен Eclipse CDT 7.0 или новее
4) AndroidManifest.xml должны обладать свойством приложения узла Android: отладочная = «True»:
5) построить проект должны были сделать с НДК-строителем (при использовании Секвойя Android компонентов, он будетпостроен автоматически)
Конфигурации
01) Создание конфигурации отладки для приложений Android (может быть сделано с Eclipse или MOTODEV Studio)
02) Создание отладочной конфигурации для C / C + + приложений
03) Установить следующие свойства:
04) Процесс запуска должен быть стандартный процесс запуска. Этот вариант выбран в нижней части вкладки Главная:
05) на «главной» вкладке:
Поле C / C + + приложений: $ PROJECT_PATH / объект / местные / armeabi / app_process
06)»Debugger» вкладки:
поле Debugger: gdbserver
на «основной» вкладке:
07) GDB отладчик: $ NDK_PATH / строить / двоичные / $ ARCH/arm-eabi- $ GCC_VERSION / BIN / ARM-EABI-GDB
08) GDB командный файл: $ PROJECT_PATH/obj/local/armeabi/gdb2.setup
[Windows пользователи используйте вариант ] Снимите «Используйте полный путь к файлу, чтобы установить точки останова» На вкладке «Связь»:
09) Тип: TCP
0) Имя или IP-адрес: локальный
11) Номер порта: 5039
Инструкции
• Открыть NDK-GDB сценарий, который пришел с Android NDK и смотреть комментарии в последней строке
(Это не призыв пользоваться обычным клиентом GDB, но больше вниманмя будем уделять сессии Eclipse GDB ):
# $ GDBCLIENT-х $ GDBSETUP-E $ APP_PROCESS
• Установите точку останова в коде Java, желательно все-таки вызвать System.loadLibrary .
(Чтобы убедиться в том, что отладчик правильно прикреплен к процессу Java)
• Запуск Android отладки и пождите чтобы он достиг точки останова
• От сессии терминала, в папке проекта, запустите команду изменение НДК-GDB. Она не должна подключится к GDB клиенту, и назвать gdbserver на эмуляторе и открытые TCP-порты для подключения.
• В $ PROJECT_PATH / объект / местные / armeabi /, изменить gdb.setup файла, удаление целевой: 5039 заявлений.
(По некоторым причинам, сессии Eclipse GDB не нравится это заявление,которое делается в файле команд)
Переименовать этот новый файл на gdb2.setup. Это необходимо запустить только один раз, на первой сессии отладки.
• Запустите C / C Примените отладку и ждите сессии Eclipse GDB подключения экземпляра к эмулятору gdbserver .
После выполнения этих шагов, можно продолжить отладку приложений, как обычно, используя вариант «продолжить» чтобы поток выполнялся до следующей точки останова или с помощью обычной «Шаг за шагом» выполнения каждой инструкции в индивидуальном порядке. Настройка останова на заявление Java, который вызывает родную функцию через JNI и активизации и разместит пользователей на начало собственного кода.