для более поздней версии NDK (я использую R7c), вы можете построить отладочную версию,
- добавить
android:debuggable="true"
флаг <Application>
тег в AndroidManifest.xml
- вызова
ndk-build
с NDK_DEBUG=1
(Флаг NDK_DEBUG не требуется при запуске ndk-build с оболочкой unix)
в Windows, все становится немного сложно, потому что для использования ndk-gdb
вам по-прежнему нужен bash (или cygwin) с NDK r7c, но ndk-build
, работающий в cygwin bash, столкнется с проблемой разрешения, если вы когда-либо используете какую-либо предварительно встроенную статическую библиотеку
мое решение на окна машины
- добавить
android:debuggable="true"
флаг <application
тег в AndroidManifest.xml
(то же самое, что и выше)
- в ЦМД (командная строка окна): вызвать
ndk-build
с NDK_DEBUG=1
- в Cygwin Баша: бег
ndk-gdb
для быстрого первоначального исследования нативных так библиотек, создать простую деятельность с помощью одной кнопки, чтобы вызвать библиотечную функцию входа и loadLibrary
в деятельности, как:
class MyActivity extends Activity {
static {
System.loadLibrary("mylibrary");
}
/* other functions like onCreate, etc... */
public native void libfunc();
public void onClick(View v){
libfunc();
}
}
Итак, когда gdb
, библиотека, о которой идет речь, фактически загружена, но вы все еще можете установить время перерыва и т. Д. Перед сбоем программы; когда вы закончите настройку отладчика, запросите (gdb)
, введите continue
(или просто «c
»), затем нажмите кнопку, чтобы запустить программу сбоев и счастливую отладку ...
nice, но я не могу получить к нему доступ: ( – Noam
@ognian ваша учетная запись со ссылкой приостановлена ... lol Мне хотелось бы знать ответ на этот вопрос, так как я следил за ссылкой asnwers и обнаружил, что решение тоже не работает. – JPM