2011-02-24 28 views
1

我乳寧爲本地庫(C++)JUnit測試,本機庫進程崩潰和logcat的顯示:如何調試崩潰的android本機庫?

I/ActivityManager( 161): Force stopping package xxxxx uid=10043 
I/ActivityManager( 161): Start proc xxxxx for added application xxxx: pid=1656 uid=10043 gids={1015} 
I/TestRunner(1656): started: testAddressBook(xxxxx.AddressBookTest) 
F//system/bin/app_process(1656): stack corruption detected: aborted 
I/ActivityManager( 161): Process xxxxx (pid 1656) has died. 

其中XXXXX是進程名。

我儘量遵循http://source.android.com/porting/debugging_native.html指令,但指令是混亂:

如果崩潰,與aproto和運行logcat的連接設備

什麼是aproto上?我找不到它。也不是「堆疊」工具。

任何建議表示讚賞!

-Henry

+0

現在看起來'aproto'被'adb'取代了。 – accuya 2012-03-07 02:44:42

回答

5
F//system/bin/app_process(1656): stack corruption detected: aborted 

這聽起來像是你搗毀一個局部變量。這是一個非常流行的方式來做到這一點:

char localVar[16]; 
sprintf(localVar, "And this is why sprintf is the devil"); 

這不完全是你要求的,但我希望它無論如何幫助。