我已经设置了Eclipse来使用Eclipse& amp;来调试我的应用程序的Native端。 Seqoyah并添加了适当的C / C ++应用程序调试配置。
问题是Eclipse似乎在尝试启动与应用程序GDB服务器的连接之前就已经开始了。我不确定如何更改Eclipse尝试使用调试配置执行操作的顺序。任何帮助将不胜感激(一如既往)。
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.
答案 0 :(得分:1)
我设法解决了这个问题。
Java / C ++ Native项目应该有两个可用的调试配置。第一个用于Java方面,第二个用于C ++方面。
确保您已根据以下内容设置环境:http://wiki.eclipse.org/Sequoyah/ndk_guide
在添加JNI共享库之后或在您的Activities onCreate中设置断点。
使用默认的调试配置调试应用程序。
在shell中导航到项目目录并发出$ NDK / ndk-gdb(其中$ NDK是Android Native Development Kit的位置)。
使用您在Sequoyah指南中创建的Native调试器调试您的应用程序。
如果一切顺利,您应该可以进入JNI代码,当应用程序崩溃时,请查看源中崩溃的位置。
我还没有找到通过实际来源设置的方法,如果有人请点击这里发布。