ICS上的本地堆栈跟踪?

19

由于某些原因,我无法在这里的ICS设备上获取C/C++地址/堆栈跟踪。在我的Nexus7上,当本地库崩溃时没有任何输出。log.redirect-stdio 在通过/system/default.prop/data/local.prop设置时均设置为1,但都无效。

我尝试使用stopsetpropstart命令将log.redirect-stdio设置为true,但仍然没有本机堆栈跟踪输出到logcat中。

Google,拜托了……每天因为与Android的错误、不可预测的关系失去对Google越来越多的信心。


你尝试过使用NVIDIA的本地调试器吗?我在使用这个软件包时取得了最好的成功效果,并且已经尝试了几乎所有其他的调试器。http://developer.nvidia.com/category/zone/mobile-development - Idistic
如果我使用NVIDIA本机调试器,你能告诉我在哪里可以看到本机堆栈跟踪吗? - Kevin Parker
你的应用程序中是否有 APP_OPTIM := debug - m-ric
看这个,我认为你的答案在这里:https://dev59.com/RHNA5IYBdhLWcg3wH6EW - m-ric
APP_OPTIM := 被设置为调试模式。 - Kevin Parker
显示剩余2条评论
1个回答

1

请检查这里,因为您可能需要更改NDK/ndk-build步骤...通过在./jni文件夹中更改'Android.mk','Application.mk'文件。

您尝试过这个吗:

$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start

当我在JB中这样做时,我会在正常的logcat中得到以下内容...

F/libc    (13345): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 13345 (bpo.media.notes)
I/DEBUG   (  121): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  121): Build fingerprint: 'google/takju/maguro:4.1.1/JRO03C/398337:user/release-keys'
I/DEBUG   (  121): pid: 13345, tid: 13345, name: bpo.media.notes  >>> com.b2bpo.media.notes <<<
I/DEBUG   (  121): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
I/DEBUG   (  121):     r0 4110e470  r1 dbe00019  r2 dda00021  r3 59e4d144
I/DEBUG   (  121):     r4 4110e470  r5 00000000  r6 dbe00019  r7 00000000
I/DEBUG   (  121):     r8 dda00021  r9 5cab8e50  sl 4110fa18  fp be95a5d4
I/DEBUG   (  121):     ip 00000000  sp be95a5a0  lr 59e4bd11  pc 00000000  cpsr 48000010
I/DEBUG   (  121):     d0  756f6620746f6e20  d1  203a5d333930315b
I/DEBUG   (  121):     d2  207972617262694c  d3  276765706d666627
I/DEBUG   (  121):     d4  0066007200750053  d5  0054006500630061
I/DEBUG   (  121):     d6  0000000000780065  d7  00000000c3120000
I/DEBUG   (  121):     d8  000000000000040e  d9  4434000000000000
I/DEBUG   (  121):     d10 000000004481c000  d11 0000000000000000
I/DEBUG   (  121):     d12 0000000000000000  d13 0000000000000000
I/DEBUG   (  121):     d14 0000000000000000  d15 0000000000000000
I/DEBUG   (  121):     d16 0000000000000001  d17 0000000000000001
I/DEBUG   (  121):     d18 0000000000000002  d19 0000000000000000
I/DEBUG   (  121):     d20 4062400000000000  d21 3ff0000000000000
I/DEBUG   (  121):     d22 8000000000000000  d23 0000000000000000
I/DEBUG   (  121):     d24 0000000000000000  d25 8000000000000000
I/DEBUG   (  121):     d26 3ff0000000000000  d27 3fdb6f2281b5dfe3
I/DEBUG   (  121):     d28 3fe3341cf8e40e47  d29 bfa8605c00000000
I/DEBUG   (  121):     d30 40079e7e00000000  d31 3fe2b80340000000
I/DEBUG   (  121):     scr 60000011
I/DEBUG   (  121): 
I/DEBUG   (  121): backtrace:
I/DEBUG   (  121):     #00  pc 00000000  <unknown>
I/DEBUG   (  121):     #01  pc 00000d0f  /data/data/com.b2bpo.media.notes/lib/libffmpeginvoke.so (Java_com_b2bpo_media_notes_RecorderActivity_run+66)
I/DEBUG   (  121):     #02  pc 0001de30  /system/lib/libdvm.so (dvmPlatformInvoke+112)
I/DEBUG   (  121):     #03  pc 0004d083  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+394)
I/DEBUG   (  121):     #04  pc 0004f19f  /system/lib/libdvm.so (dvmResolveNativeMethod(unsigned int const*, JValue*, Method const*, Thread*)+174)
I/DEBUG   (  121):     #05  pc 00027260  /system/lib/libdvm.so
I/DEBUG   (  121):     #06  pc 0002bb68  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180)
I/DEBUG   (  121):     #07  pc 0005fab7  /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+374)
I/DEBUG   (  121):     #08  pc 0006700d  /system/lib/libdvm.so
I/DEBUG   (  121):     #09  pc 00027260  /system/lib/libdvm.so
I/DEBUG   (  121):     #10  pc 0002bb68  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180)
I/DEBUG   (  121):     #11  pc 0005fab7  /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+374)
I/DEBUG   (  121):     #12  pc 0006700d  /system/lib/libdvm.so
I/DEBUG   (  121):     #13  pc 00027260  /system/lib/libdvm.so
I/DEBUG   (  121):     #14  pc 0002bb68  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180)
I/DEBUG   (  121):     #15  pc 0005f7f1  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
I/DEBUG   (  121):     #16  pc 00049673  /system/lib/libdvm.so
I/DEBUG   (  121):     #17  pc 0004698d  /system/lib/libandroid_runtime.so
I/DEBUG   (  121):     #18  pc 0004746f  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+390)
I/DEBUG   (  121):     #19  pc 00000dcf  /system/bin/app_process
I/DEBUG   (  121): 
I/DEBUG   (  121): stack:
I/DEBUG   (  121):          be95a560  be95a5d4  [stack]
I/DEBUG   (  121):          be95a564  4017fb61  /system/bin/linker
I/DEBUG   (  121):          be95a568  4018afd0  /system/bin/linker
I/DEBUG   (  121):          be95a56c  4018afeb  /system/bin/linker
I/DEBUG   (  121):          be95a570  40197c0c  
I/DEBUG   (  121):          be95a574  00000000  
I/DEBUG   (  121):          be95a578  00000000  
I/DEBUG   (  121):          be95a57c  59e4bd07  /data/data/com.b2bpo.media.notes/lib/libffmpeginvoke.so (Java_com_b2bpo_media_notes_RecorderActivity_run+58)
I/DEBUG   (  121):          be95a580  59e4d144  /data/data/com.b2bpo.media.notes/lib/libffmpeginvoke.so
I/DEBUG   (  121):          be95a584  4017fbfd  /system/bin/linker
I/DEBUG   (  121):          be95a588  00000000  
I/DEBUG   (  121):          be95a58c  59e4d144  /data/data/com.b2bpo.media.notes/lib/libffmpeginvoke.so
I/DEBUG   (  121):          be95a590  4110e470  [heap]
I/DEBUG   (  121):          be95a594  c200001d  
I/DEBUG   (  121):          be95a598  df0027ad  
I/DEBUG   (  121):          be95a59c  00000000  
I/DEBUG   (  121):     #00  be95a5a0  dda00021  
I/DEBUG   (  121):          ........  ........
I/DEBUG   (  121):     #01  be95a5a0  dda00021  
I/DEBUG   (  121):          be95a5a4  56ddb4e0  /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG   (  121):          be95a5a8  4110fa08  [heap]
I/DEBUG   (  121):          be95a5ac  00000000  
I/DEBUG   (  121):          be95a5b0  410c6cdc  
I/DEBUG   (  121):          be95a5b4  be95a5c0  [stack]
I/DEBUG   (  121):          be95a5b8  410c6cd4  
I/DEBUG   (  121):          be95a5bc  4074ee34  /system/lib/libdvm.so (dvmPlatformInvoke+116)
I/DEBUG   (  121):     #02  be95a5c0  410c6cd0  
I/DEBUG   (  121):          be95a5c4  00000001  
I/DEBUG   (  121):          be95a5c8  41ba41b8  /dev/ashmem/dalvik-heap (deleted)
I/DEBUG   (  121):          be95a5cc  59e4902b  /data/dalvik-cache/data@app@com.b2bpo.media.notes-2.apk@classes.dex
I/DEBUG   (  121):          be95a5d0  00000019  
I/DEBUG   (  121):          be95a5d4  4077e087  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
I/DEBUG   (  121): 
I/DEBUG   (  121): memory near r0:
I/DEBUG   (  121):     4110e450 6c436d65 0000001b 411254d8 4007c51c  emCl.....T.A...@
I/DEBUG   (  121):     4110e460 74696e49 4007003b 00000018 00000023  Init;..@....#...
I/DEBUG   (  121):     4110e470 407d4970 407d4de4 00000001 4110fa08  pI}@.M}@.......A
I/DEBUG   (  121):     4110e480 00000000 58ba5a30 00000000 0000001b  ....0Z.X........
I/DEBUG   (  121):     4110e490 00000000 00000000 00000000 4110e490  ...............A
I/DEBUG   (  121): 
I/DEBUG   (  121): memory near r3:
I/DEBUG   (  121):     59e4d124 e0833102 e2830008 e28dd014 e8bd8000  .1..............
I/DEBUG   (  121):     59e4d134 e92d4008 ebfffac7 e92d4008 ebfffac5  .@-......@-.....
I/DEBUG   (  121):     59e4d144 6176614a 6d6f635f 6232625f 6d5f6f70  Java_com_b2bpo_m
I/DEBUG   (  121):     59e4d154 61696465 746f6e5f 525f7365 726f6365  edia_notes_Recor
I/DEBUG   (  121):     59e4d164 41726564 76697463 5f797469 7552616e  derActivity_naRu
I/DEBUG   (  121): 
I/DEBUG   (  121): memory near r4:
I/DEBUG   (  121):     4110e450 6c436d65 0000001b 411254d8 4007c51c  emCl.....T.A...@
I/DEBUG   (  121):     4110e460 74696e49 4007003b 00000018 00000023  Init;..@....#...
I/DEBUG   (  121):     4110e470 407d4970 407d4de4 00000001 4110fa08  pI}@.M}@.......A
I/DEBUG   (  121):     4110e480 00000000 58ba5a30 00000000 0000001b  ....0Z.X........
I/DEBUG   (  121):     4110e490 00000000 00000000 00000000 4110e490  ...............A
I/DEBUG   (  121): 
I/DEBUG   (  121): memory near r9:
I/DEBUG   (  121):     5cab8e30 4023af08 5cab8d80 00000033 00000007  ..#@...\3.......
I/DEBUG   (  121):     5cab8e40 00000002 00000000 59c61708 00000011  ...........Y....
I/DEBUG   (  121):     5cab8e50 5bd26990 4007c514 00000010 00000012  .i.[...@........
I/DEBUG   (  121):     5cab8e60 59e810b4 4007c514 00000010 00000043  ...Y...@....C...
I/DEBUG   (  121):     5cab8e70 4023aea0 5cb8a368 4023aec0 59f65d60  ..#@h..\..#@`].Y
I/DEBUG   (  121): 
I/DEBUG   (  121): memory near sl:
I/DEBUG   (  121):     4110f9f8 00000000 00000800 4109e008 00000453  ...........AS...
I/DEBUG   (  121):     4110fa08 57c0df5a 410c6cd0 56ddb400 59c6b000  Z..W.l.A...V...Y
I/DEBUG   (  121):     4110fa18 0000007a 98b9bd7e be95a710 00000000  z...~...........
I/DEBUG   (  121):     4110fa28 be95a744 00000001 00000000 4074efc0  D.............t@
I/DEBUG   (  121):     4110fa38 00000000 00000000 4066fe70 410c1300  ........p.f@...A
I/DEBUG   (  121): 
I/DEBUG   (  121): memory near fp:
I/DEBUG   (  121):     be95a5b4 be95a5c0 410c6cd4 4074ee34 410c6cd0  .....l.A4.t@.l.A
I/DEBUG   (  121):     be95a5c4 00000001 41ba41b8 59e4902b 00000019  .....A.A+..Y....
I/DEBUG   (  121):     be95a5d4 4077e087 410c6cd0 59e49028 59e4bccd  ..w@.l.A(..Y...Y
I/DEBUG   (  121):     be95a5e4 4110fa18 00000000 00000000 59fe8dc0  ...A...........Y
I/DEBUG   (  121):     be95a5f4 40083a4c 00000000 40048571 40048539  L:.@....q..@9..@
I/DEBUG   (  121): 
I/DEBUG   (  121): memory near sp:
I/DEBUG   (  121):     be95a580 59e4d144 4017fbfd 00000000 59e4d144  D..Y...@....D..Y
I/DEBUG   (  121):     be95a590 4110e470 c200001d df0027ad 00000000  p..A.....'......
I/DEBUG   (  121):     be95a5a0 dda00021 56ddb4e0 4110fa08 00000000  !......V...A....
I/DEBUG   (  121):     be95a5b0 410c6cdc be95a5c0 410c6cd4 4074ee34  .l.A.....l.A4.t@
I/DEBUG   (  121):     be95a5c0 410c6cd0 00000001 41ba41b8 59e4902b  .l.A.....A.A+..Y
I/DEBUG   (  121): 
I/DEBUG   (  121): code around pc:
I/DEBUG   (  121):     00000000 ffffffff ffffffff ffffffff ffffffff  ................
I/DEBUG   (  121):     00000010 ffffffff ffffffff ffffffff ffffffff  ................
I/DEBUG   (  121):     00000020 ffffffff ffffffff ffffffff ffffffff  ................
I/DEBUG   (  121):     00000030 ffffffff ffffffff ffffffff ffffffff  ................
I/DEBUG   (  121):     00000040 ffffffff ffffffff ffffffff ffffffff  ................
I/DEBUG   (  121): 
I/DEBUG   (  121): code around lr:
I/DEBUG   (  121):     59e4bcf0 f8d34629 460732a8 47984620 46384907  )F...2.F F.G.I8F
I/DEBUG   (  121):     59e4bd00 f7ff4479 4631efc4 46054642 47a84620  yD....1FBF.F F.G
I/DEBUG   (  121):     59e4bd10 e8bd4638 f7ff43f8 bf00bf99 00001440  8F...C......@...
I/DEBUG   (  121):     59e4bd20 e5903000 e3130101 13833102 03c33102  .0.......1...1..
I/DEBUG   (  121):     59e4bd30 e0800003 e12fff1e e92d4ff0 e59f51ac  ....../..O-..Q..
I/ActivityManager(11604): Process com.b2bpo.media.notes (pid 13345) has died.
I/WindowState(11604): WIN DEATH: Window{425a34d0 com.b2bpo.media.notes/com.b2bpo.media.notes.RecorderActivity paused=false}
W/ActivityManager(11604): Force removing ActivityRecord{425839e0 com.b2bpo.media.notes/.RecorderActivity}: app died, no saved stat

关键在于JB... 在ICS上,那段代码(请注意,这是由Google记录的)不起作用。 - Kevin Parker
1
你可能想查看这个:http://source-android.frandroid.com/ndk/docs/NDK-GDB.html - Robert Rowntree
谢谢,但这是针对现场设备的。我们目前依赖JB设备,但它们变得越来越稀缺。我羡慕iOS开发人员在Xcode中调试和优化的简易性和简单性,相比之下Eclipse已经有些陈旧了。 - Kevin Parker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接