Я настроил свой Eclipse для отладки собственной части моего приложения с помощью Eclipse & Seqoyah и добавил соответствующую конфигурацию отладки приложений C/C++.
Проблема в том, что Eclipse пытается инициировать соединение с сервером приложений GDB еще до его запуска. Я не уверен, как изменить порядок, в котором Eclipse пытается делать что-то с настройками Debug. Любая помощь будет оценена (как всегда).
http://wiki.eclipse.org/Sequoyah/ndk_guide
31-gdb-set confirm off
31^done
(gdb)
32-gdb-set width 0
32^done
(gdb)
33-gdb-set height 0
33^done
(gdb)
34-interpreter-exec console echo
34^done
(gdb)
35-gdb-show prompt
35^done,value="(gdb) "
(gdb)
36-gdb-set auto-solib-add on
36^done
(gdb)
37-gdb-set stop-on-solib-events 0
37^done
(gdb)
38-gdb-set stop-on-solib-events 1
38^done
(gdb)
39-target-select remote localhost:5039
&"Remote communication error: Connection reset by peer.\n"
39^error,msg="Remote communication error: Connection reset by peer."
(gdb)
40-gdb-exit
40^exit
Remote communication error: Connection reset by peer.
Мне удалось решить эту проблему.
Для вашего Java/C++ родного проекта должны быть две конфигурации Debug. Первый - для Java-вещей, а второй - для сторон C++.
Убедитесь, что вы настроили среду в соответствии с: http://wiki.eclipse.org/Sequoyah/ndk_guide
Установите точку останова сразу после добавления общей библиотеки JNI или в свои действия onCreate.
Отлаживайте приложение, используя конфигурацию отладки по умолчанию.
В оболочке перейдите в каталог проекта и введите $ NDK/ndk-gdb (где $ NDK - это местоположение вашего Android Native Development Kit).
Отлаживайте приложение, используя свой собственный отладчик, который вы создали в руководстве Sequoyah.
Если все пойдет хорошо, вы должны войти в код JNI, и когда ваше приложение выйдет из строя, посмотрите, где в вашем источнике произошел сбой.
Я еще не нашел способ установить реальный источник, если кто-нибудь действительно разместит здесь.