2013-07-08 16 views
0

,我必須從這個logcat崩潰日誌:使用NDK堆棧閱讀我使用cocos2d的<strong>-X v2.1.4</strong>崩潰日誌

I/DEBUG (6575): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
I/DEBUG (6575): Build fingerprint: 'acer/a500_ww_gen1/picasso:4.0.3/IML74K/1333032611:user/release-keys' 
I/DEBUG (6575): pid: 6680, tid: 6680 >>> com.xxxxx.xxxxx <<< 
I/DEBUG (6575): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 5bd10d1f 
I/DEBUG (6575): r0 0000006e r1 5ceda8ec r2 00000000 r3 5bd10d1f 
I/DEBUG (6575): r4 00000000 r5 5bb4dfc1 r6 5bd13c38 r7 5ceda8ec 
I/DEBUG (6575): r8 00007530 r9 00000000 10 00000000 fp 5bd13c38 
I/DEBUG (6575): ip 5bd76e4c sp 5ced9948 lr 5bb4e179 pc 5bb4dfce cpsr 00000030 
I/DEBUG (6575): d0 0000000000000000 d1 0000000000000000 
I/DEBUG (6575): d2 0000000000000000 d3 000000003f000000 
I/DEBUG (6575): d4 0000000000000000 d5 0000000000000000 
I/DEBUG (6575): d6 0000000000000000 d7 0000000000000000 
I/DEBUG (6575): d8 0000000000000000 d9 0000000000000000 
I/DEBUG (6575): d10 0000000000000000 d11 0000000000000000 
I/DEBUG (6575): d12 0000000000000000 d13 0000000000000000 
I/DEBUG (6575): d14 0000000000000000 d15 0000000000000000 
I/DEBUG (6575): scr 80000012 
I/DEBUG (6575): 
I/DEBUG (6575):   #00 pc 0032ffce /data/data/com.xxxxx.xxxxx/lib/libgame.so 
I/DEBUG (6575):   #01 pc 00330176 /data/data/com.xxxxx.xxxxx/lib/libgame.so 
I/DEBUG (6575):   #02 pc 00330f68 /data/data/com.xxxxx.xxxxx/lib/libgame.so (curl_mvsnprintf) 
I/DEBUG (6575):   #03 pc 00323e2c /data/data/com.xxxxx.xxxxx/lib/libgame.so (Curl_failf) 
I/DEBUG (6575):   #04 pc 0031d39e /data/data/com.xxxxx.xxxxx/lib/libgame.so (Curl_resolv_timeout) 
I/DEBUG (6575):   #05 pc 00329ea2 /data/data/com.xxxxx.xxxxx/lib/libgame.so (Curl_connect) 

我可以從這個日誌,它是由引起的告訴一個cURL方法沒有正確完成或者什麼,但我想知道哪個函數導致崩潰。我試着用ndk-stack但我得到這個結果:

********** Crash dump: ********** 
Build fingerprint: 'acer/a500_ww_gen1/picasso:4.0.3/IML74K/1333032611:user/release-keys' 
pid: 6498, tid: 6498 >>> com.xxxxx.xxxxx <<< 
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 5bb71d1f 
Stack frame #00 pc 0032ffce /data/data/com.xxxxx.xxxxx/lib/libgame.so: Unable to locate routine information for address 32ffce in module /Users/xxxxx/Desktop/xxxxx/_projects/xxxxx/xxxxx/proj.android/obj/local/armeabi/libgame.so 
Stack frame #01 pc 00330176 /data/data/com.xxxxx.xxxxx/lib/libgame.so: Unable to locate routine information for address 330176 in module /Users/xxxxx/Desktop/xxxxx/_projects/xxxxx/xxxxx/proj.android/obj/local/armeabi/libgame.so 
Stack frame #02 pc 00330f68 /data/data/com.xxxxx.xxxxx/lib/libgame.so (curl_mvsnprintf): Unable to locate routine information for address 330f68 in module /Users/xxxxx/Desktop/xxxxx/_projects/xxxxx/xxxxx/proj.android/obj/local/armeabi/libgame.so 
Stack frame #03 pc 00323e2c /data/data/com.xxxxx.xxxxx/lib/libgame.so (Curl_failf): Unable to locate routine information for address 323e2c in module /Users/xxxxx/Desktop/xxxxx/_projects/xxxxx/xxxxx/proj.android/obj/local/armeabi/libgame.so 
Stack frame #04 pc 0031d39e /data/data/com.xxxxx.xxxxx/lib/libgame.so (Curl_resolv_timeout): Unable to locate routine information for address 31d39e in module /Users/xxxxx/Desktop/xxxxx/_projects/xxxxx/xxxxx/proj.android/obj/local/armeabi/libgame.so 
Stack frame #05 pc 00329ea2 /data/data/com.xxxxx.xxxxx/lib/libgame.so (Curl_connect): Unable to locate routine information for address 329ea2 in module /Users/xxxxx/Desktop/xxxxx/_projects/xxxxx/xxxxx/proj.android/obj/local/armeabi/libgame.so 

有沒有辦法讓從堆棧跟蹤更有意義的信息? 還是因爲我使用的編譯爲靜態庫的libcurl,ndk-stack無法找到關於它的信息?

+0

剛剛在幾天前遇到了完全相同的問題。 ndk-stack不是一個非常有用的解決方案 - 有時會導致糟糕的輸出。 – ensoreus

+0

你找到更好的方法來anylayze堆棧跟蹤? – Jeeva

回答

0

你可以使用VisualGDB,使用VisualGDB你可以在visual studio中調試你的本地代碼,你必須在Visual Studio中安裝VisualGDB插件,然後你可以將你現有的cocos2d-x Android Eclipse項目導入到visual studio。您可以查看以下鏈接

http://visualgdb.com/tutorials/android/

我已經配置我的cocos2d的Android項目到Visual Studio與VisualGDB的幫助,讓我知道,如果你面對任何問題。