2013-07-10 26 views
2

任何人都可以讓我知道這個回溯日誌表明什麼。我在我的代碼中產生了一個線程,但我無法解釋出什麼問題。回溯到android本機代碼

線程創建代碼

在pthread_create(& TID,& ATTR,(無效*()(空隙))的ThreadFunc,ARG);

>I/DEBUG (6144): backtrace: 
>I/DEBUG (6144):  #00 pc 00014260 /system/lib/libc.so (dlmalloc+643) 
>I/DEBUG (6144):  #01 pc 00016f7f /system/lib/libc.so (malloc+10) 
>I/DEBUG (6144):  #02 pc 00061797 /system/lib/libdvm.so (dvmJdwpPostLocationEvent(JdwpState*, JdwpLocation const*, unsigned long long, int)+124) 
I/DEBUG (6144):  #03 pc 000438e1 /system/lib/libdvm.so (dvmDbgPostLocationEvent(Method const*, int, Object*, int)+76) 
I/DEBUG (6144):  #04 pc 0002b940 /system/lib/libdvm.so (dvmCheckBefore+504) 
I/DEBUG (6144):  #05 pc 0001e37c /system/lib/libdvm.so 
I/DEBUG (6144):  #06 pc 0002bba8 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180) 
I/DEBUG (6144):  #07 pc 0005f831 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272) 
I/DEBUG (6144):  #08 pc 0005f85b /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20) 
I/DEBUG (6144):  #09 pc 00054413 /system/lib/libdvm.so 
I/DEBUG (6144):  #10 pc 00012e00 /system/lib/libc.so (__thread_entry+48) 
I/DEBUG (6144):  #11 pc 00012558 /system/lib/libc.so (pthread_create+172) 

謝謝

+0

你厲害你的線程分配內存的某個地方。您是否正在使用va_list? – Shark

+0

另外,請logcat。 – Shark

+0

不..我沒有使用va_list .. – user1764879

回答

1

確定,出現這種情況是由於pthread_create?嘗試使用(從NDK)ndk-stack命令找出根本原因(或android-ndk-stacktrace-analyzer):

adb logcat | ndk-stack -sym /path_to_your_project/obj/local/armeabi 
+0

我已經在使用並能夠獲取崩潰的行。正如我已經提到的..每當我運行應用程序..它崩潰在不同points.At點崩潰..線有malloc或memcpy。 – user1764879

+0

正如您每次看到不同的崩潰點,它可能是一個線程同步問題。據我所知,靜態代碼分析是解決崩潰的唯一可能的方法。 –