如何在Android本机代码中追溯跟踪

时间:2012-08-24 12:02:04

标签: debugging android-ndk native-code

我的Apk正在epoll_wait收到一个sig_stop。我无法弄清楚调用它的代码部分。我知道这是libc的一部分。它告诉我这个epoll_wait的行号。当我尝试使用addr2line工具时,运气不大。

 ./toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-   addr2line -C -f -e ~/SoxPlayer/obj/local/armeabi/libc.so  0xafd0c75c
??
??:0

这就是我得到的...... 我想知道我的代码中的哪一部分正在分配调用epoll_wait的线程1。

    Thread [1] (Suspended: Signal 'SIGSTOP' received. Description: Stopped (signal).)   
3 epoll_wait()  0xafd0c75c  
2 <symbol is not available> 0xa8125706  
1 <symbol is not available> 0xa8125706  

这里的信息不多。 gdb也会提供相同的信息。 ndk-stack工具不会有帮助,因为我没有这种工具所需的那种sigev错误或应用程序崩溃。我的apk正在等待我的代码中的信号事件。但是我可以使用什么工具来获取在我的代码中调用epoll_wait的人。我能够看到我的代码中发生了什么,但无法确定这个epoll_wait的确切位置。需要有关我可以用来解决这个问题的工具的建议。

由于

0 个答案:

没有答案