如何调试崩溃的android本机库?

1 debugging android native

我正在运行本机库(C++)的junit测试,本机库进程崩溃,logcat显示:

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.
Run Code Online (Sandbox Code Playgroud)

其中xxxxx是进程名称.

我尝试按照http://source.android.com/porting/debugging_native.html上的说明操作,但说明令人困惑:

如果崩溃,请与aproto连接并在设备上运行logcat

什么是aproto?我找不到它.也不是"堆叠"工具.

任何建议表示赞赏!

-Henry

Ebo*_*ike 5

F//system/bin/app_process( 1656): stack corruption detected: aborted
Run Code Online (Sandbox Code Playgroud)

这听起来像是在破坏局部变量.这是一种非常流行的方式:

char localVar[16];
sprintf(localVar, "And this is why sprintf is the devil");
Run Code Online (Sandbox Code Playgroud)

这不完全是你要求的,但我希望无论如何都有帮助.