Как использовать Eclipse для отладки кода JNI (Java & C / C ++) - PullRequest
21 голосов
/ 04 мая 2010

Хотя я могу отлаживать свое приложение с помощью отладчика Eclipse JDT для кода Java и GDB для кода C, я бы предпочел использовать один инструмент для всей моей отладки. Я нашел несколько проектов, которые включают отладку в смешанном режиме в Eclipse и включают поддержку одного перехода между Java и собственным кодом.

К сожалению, один претендует на качество перед выпуском, а другой в настоящее время не поддерживается. Существуют ли какие-либо плагины, которые надежно обеспечивают функциональность отладки смешанного режима в Eclipse, или я должен продолжать использовать два отдельных отладчика?

Ответы [ 5 ]

5 голосов
/ 24 июля 2012

Для тех, кто хочет отладить код NDK / JNI в выпуске Eclipse Juno, он по сути встроен в программное обеспечение после установки плагинов для Android и CDT. Однако могут возникнуть проблемы, поскольку существует проблема, появившаяся с инструментами разработки C / C ++ (CDT 8.1), которая по состоянию на 24.07.12 не устранена. Для получения более подробной информации о проблеме см. Следующую ссылку. Если вы просто хотите отладить, продолжайте читать.

http://code.google.com/p/android/issues/detail?id=33788

Если он работает правильно, вы просто устанавливаете свои точки останова в C и Отладка как -> Собственное приложение Android . К сожалению, вы не можете отлаживать Java и C одновременно. Если проблема связана с Java и вы хотите выполнить отладку, сделайте это, нажав Отладка как -> Приложение Android .

Если он не работает правильно, и вы хотите выяснить, как его получить правильно, у меня сработали следующие пакеты.

  Android DDMS  20.0.1.v201207132230-403220
  Android Development Tools 20.0.1.v201207132230-403220 
  Android Hierarchy Viewer  20.0.1.v201207132230-403220 
  Android Native Development Tools  20.0.1.v201207132230-403220 
  Android Traceview 20.0.1.v201207132230-403220 
  Autotools support for CDT (Incubation)    3.0.1.201202152032  
  C/C++ Development Tools   8.0.2.201202111925  
  C/C++ Development Tools SDK   8.0.2.201202111925
  C/C++ Library API Documentation Hover Help (Incubation)   
  Eclipse SDK   4.2.0.I20120608-1400    
  Tracer for OpenGL ES  20.0.1.v201207132230-403220

Пакеты Android были установлены в параметре Работа с: в Eclipse Справка-> Установить новое программное обеспечение ... Диалог

dl-ssl.google.com/android/eclipse/

Более старые пакеты 8.02 ... CDT были получены при установке опции Работа с: для пакетов выпуска Indigo.

download.eclipse.org/releases/indigo

Если установлено, вам нужно будет удалить инструменты Android и новую версию CDT перед установкой старой версии CDT. После установки версии CDT 8.02 ... вы можете установить инструменты Android и начать отладку.

Убедитесь, что вы используете команду Build "ndk-build NDK_DEBUG = 1"

Автоинструментальные средства могут не потребоваться, но поскольку они установлены, у меня есть их в списке.

Обратите внимание, что пошаговое выполнение кода иногда может быть странным.

3 голосов
/ 04 мая 2010

Я не думаю, что сегодня есть что-то, что могло бы это исправить, но я знаю, что Дуг Шефер занимает достаточно высокое место в своем списке вещей, которые он хочет сделать. Следите за новостями об этом его блоге .

2 голосов
/ 29 ноября 2011

ARM, по-видимому, имеет набор инструментов: http://ds.arm.com/ds-5-community-edition/

Требуется Eclipse 4.4 ("Луна").

1 голос
/ 12 мая 2013

С новым пакетом Android ADT (по состоянию на 12.05.2013) больше нет необходимости в более старом программном пакете 8.02.Если вы обнаружите, что редактируете текстовые файлы для отладки, вы следуете старым инструкциям, которые больше не применяются.Используйте Android ADT и Debug As-> Android Native Application.Вам все еще может потребоваться установить NDK_DEBUG = 1, если это еще не сделано в настройке.

0 голосов
/ 12 мая 2010

Eclipse Sequoyah 1.0 имеет функции Android ndk. Выпуск Eclipse 3.6 и выпуск 3.5 в начале июня.

...