我的工作区布局是:
.
??? ApplicationLibrary
? ??? AndroidManifest.xml
? ??? ...
? ??? jni
? ??? libs
? ??? ...
? ??? src
??? Application
??? AndroidManifest.xml
??? ant.properties
??? ...
Run Code Online (Sandbox Code Playgroud)
如何在Eclipse中调试本机库?有人暗示过这个吗?
由于某种原因,我不能在我这里的ICS设备上发生本地(C/C++)地址/堆栈跟踪.
在我的Nexus 7上,当本机库崩溃时,不会输出任何内容.log.redirect-stdio设置为通过时设置为1,/system/default.prop并且/data/local.prop都不起作用.
我试着设置log.redirect-stdio来true使用stop,setprop,start的命令,但仍然没有原生的堆栈跟踪是输出到logcat的.
谷歌我的意思是来吧......我每天都因为与我的错误,不可预测的关系而对Google产生越来越多的信心.
android stack-trace android-ndk nexus-s android-4.0-ice-cream-sandwich
Android NDK文档对于我来说似乎并不清楚你运行什么序列的命令来获取调试信息,以及提供的ndk-gdb可执行文件.如果有什么行可以打破的格式,以及在什么文件中,是否有某个规范?如果是这样,那么,您如何为此调试器提供该信息,以及通过什么方式?关于这个过程是如何运作的,我对各方面都毫无头绪.
谢谢
我已经安装了Sequoyah Android Native Support,现在,我可以执行调试模式.我在哪里调用本机方法的同一行一个断点,所以当我执行调试Java模式中,蚀在此行中停止时,我执行"NDK-GDB"和我午餐C/C++调试模式,我看到控制台做了些什么.但是,我怎么能把C断点?因为我的C代码是.so库,所以我不能在这个文件中放置断点.我有一个JNI floder,其中有.c和.h文件,但是当我放置断点时不要停止.Eclipse日志识别断点,但打印错误.
break-insert com_example_pruebaffmpeg_MainActivity.c:4323 error,msg ="没有加载符号表.使用\"file \"命令."
我正在使用AndEngine与PhysicsBox2DExtension制作游戏.我的游戏一直在崩溃,我在未经过滤的LogCat中得到了这个:
07-06 13:25:27.266: I/DEBUG(19582): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-06 13:25:27.266: I/DEBUG(19582): Build fingerprint: 'TMOUS/SGH-T959V/SGH-T959V/SGH-T959V:2.2.1/FROYO/VUVKD1:user/release-keys'
07-06 13:25:27.274: I/DEBUG(19582): pid: 22238, tid: 22263 >>> com.prattia.webs.testgfx5 <<<
07-06 13:25:27.274: I/DEBUG(19582): signal 11 (SIGSEGV), fault addr deadbaad
07-06 13:25:27.286: I/DEBUG(19582): r0 00000000 r1 afd14921 r2 00000027 r3 00000070
07-06 13:25:27.286: I/DEBUG(19582): r4 afd42328 r5 00000000 r6 00000000 r7 43095ba0
07-06 13:25:27.297: I/DEBUG(19582): r8 447d75ac r9 43095b5c 10 80aa23f4 fp 43095b58
07-06 13:25:27.297: …Run Code Online (Sandbox Code Playgroud) 我正在尝试远程调试CAndroid设备上的纯程序.Android设备(目标)通过USB连接到主机.
我所做的是:从复制的目标以下文件:
/system/lib,/vendor/lib,/system/bin/app_process,和/system/bin/linker.
目标:
gdbserver从NDK所述目标设备exe我要调试的内容./gdbserver :5039 exec
pid主办:
adb forward tcp:5039 tcp:5039arm-eabi-gcc exec.set solib-search-path ...,我早先从目标中提取的库target remote :5039在arm-eabi-gcc可以连接到远程进程,甚至继续(c)的执行.但是,我无法设置断点.如果我这样做,我会收到以下错误:
Cannot access memory at address xxx.
我在这里错过了什么吗?
谢谢.
android ×6
android-ndk ×5
gdb ×2
gdbserver ×2
andengine ×1
android-4.0-ice-cream-sandwich ×1
box2d ×1
c ×1
crash ×1
debugging ×1
libc ×1
nexus-s ×1
sdk ×1
stack-trace ×1