Android C++层打印调用堆栈

调试一个Camera2 App 录像时拔掉USB摄像头至无响应的bug

分析它和正常逻辑的调用区别,须要打印c++的调用堆栈.

1.#include <utils/CallStack.h>

    android::CallStack stack;
    stack.update();
    stack.dump(1);
    //输出到printf
    stack.log("luke_dsfdsfds");


    stack.log("satcklog", ANDROID_LOG_ERROR, "stackdump:");

然后Android.bp的

shared_libs:加上一行

"libutilscallstack",

参考资料来源

undefined reference to ‘android::CallStack::CallStack_dp__mcu的专栏-CSDN博客

android 里面添加打印调用堆栈_画饼人的博客-CSDN博客_libutilscallstack

2021-12-06 17:28:33.320 3369-5547/? D/CameraSource: Set stoptime: 257099790 us
2021-12-06 17:28:33.363 3369-5547/? D/luke_dsfdsfds: #00 pc 0006701f  /system/lib/libstagefright.so (android::CameraSource::setStopTimeUs(long long)+74)
2021-12-06 17:28:33.363 3369-3958/? D/CameraSource: onFrameAvailable: onFrameAvailable
2021-12-06 17:28:33.363 3369-5547/? D/luke_dsfdsfds: #01 pc 00091899  /system/lib/libstagefright.so (android::MediaCodecSource::Puller::onMessageReceived(android::sp<android::AMessage> const&)+456)
2021-12-06 17:28:33.363 3369-5547/? D/luke_dsfdsfds: #02 pc 0000d3e9  /system/lib/libstagefright_foundation.so (android::AHandler::deliverMessage(android::sp<android::AMessage> const&)+24)
2021-12-06 17:28:33.363 3369-5547/? D/luke_dsfdsfds: #03 pc 0000fcd9  /system/lib/libstagefright_foundation.so (android::AMessage::deliver()+60)
2021-12-06 17:28:33.363 3369-5547/? D/luke_dsfdsfds: #04 pc 0000e0c1  /system/lib/libstagefright_foundation.so (android::ALooper::loop()+476)
2021-12-06 17:28:33.363 3369-5547/? D/luke_dsfdsfds: #05 pc 0000c1bf  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+286)
2021-12-06 17:28:33.363 3369-5547/? D/luke_dsfdsfds: #06 pc 00063c15  /system/lib/libc.so (__pthread_start(void*)+22)
2021-12-06 17:28:33.363 3369-5547/? D/luke_dsfdsfds: #07 pc 0001e065  /system/lib/libc.so (__start_thread+22)
2021-12-06 17:28:33.363 3369-5547/? E/satcklog: stackdump:#00 pc 0006701f  /system/lib/libstagefright.so (android::CameraSource::setStopTimeUs(long long)+74)
2021-12-06 17:28:33.363 3369-5547/? E/satcklog: stackdump:#01 pc 00091899  /system/lib/libstagefright.so (android::MediaCodecSource::Puller::onMessageReceived(android::sp<android::AMessage> const&)+456)
2021-12-06 17:28:33.363 3369-5547/? E/satcklog: stackdump:#02 pc 0000d3e9  /system/lib/libstagefright_foundation.so (android::AHandler::deliverMessage(android::sp<android::AMessage> const&)+24)
2021-12-06 17:28:33.363 3369-5547/? E/satcklog: stackdump:#03 pc 0000fcd9  /system/lib/libstagefright_foundation.so (android::AMessage::deliver()+60)
2021-12-06 17:28:33.363 3369-5547/? E/satcklog: stackdump:#04 pc 0000e0c1  /system/lib/libstagefright_foundation.so (android::ALooper::loop()+476)
2021-12-06 17:28:33.363 3369-5547/? E/satcklog: stackdump:#05 pc 0000c1bf  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+286)
2021-12-06 17:28:33.363 3369-5547/? E/satcklog: stackdump:#06 pc 00063c15  /system/lib/libc.so (__pthread_start(void*)+22)
2021-12-06 17:28:33.363 3369-5547/? E/satcklog: stackdump:#07 pc 0001e065  /system/lib/libc.so (__start_thread+22)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值