android 用户空间 c代码 的 调用堆栈 使用方法

android.mk

LOCAL_SHARED_LIBRARIES := libc libcutils liblog libutilscallstack

OBJS += MyCallStack.cpp  xxx.c  vvv.c kkk.c

 

 

 

MyCallStack.cpp的内容:

#include <utils/CallStack.h>

extern "C" void dumping_callstack();


void dumping_callstack(){
  android::CallStack stack;
  stack.update();
  //xxx
  stack.log("callstack");
}

 

 

在需要跟踪的c文件中:

extern void dumping_callstack();

 /vendor/bin/hw/wpa_supplicant (dumping_callstack+28)
04-27 20:27:08.495  2767  2767 D callstack: #01 pc 000b4549  /vendor/bin/hw/wpa_supplicant (wpa_supplicant_event+24)
04-27 20:27:08.495  2767  2767 D callstack: #02 pc 000cb377  /vendor/bin/hw/wpa_supplicant (send_scan_event+418)
04-27 20:27:08.495  2767  2767 D callstack: #03 pc 000c9b8d  /vendor/bin/hw/wpa_supplicant (do_process_drv_event+2652)
04-27 20:27:08.495  2767  2767 D callstack: #04 pc 000c90f7  /vendor/bin/hw/wpa_supplicant (process_global_event+218)
04-27 20:27:08.495  2767  2767 D callstack: #05 pc 000096b1  /system/lib/vndk-28/libnl.so (nl_recvmsgs_report+532)
04-27 20:27:08.495  2767  2767 D callstack: #06 pc 000097bb  /system/lib/vndk-28/libnl.so (nl_recvmsgs+2)
04-27 20:27:08.495  2767  2767 D callstack: #07 pc 000c38f9  /vendor/bin/hw/wpa_supplicant (wpa_driver_nl80211_event_receive+20)
04-27 20:27:08.495  2767  2767 D callstack: #08 pc 0001ee69  /vendor/bin/hw/wpa_supplicant (eloop_sock_table_dispatch+60)
04-27 20:27:08.495  2767  2767 D callstack: #09 pc 0001ecdb  /vendor/bin/hw/wpa_supplicant (eloop_run+486)
04-27 20:27:08.495  2767  2767 D callstack: #10 pc 000b1fcf  /vendor/bin/hw/wpa_supplicant (wpa_supplicant_run+90)
04-27 20:27:08.495  2767  2767 D callstack: #11 pc 000bbb11  /vendor/bin/hw/wpa_supplicant (main+712)
04-27 20:27:08.495  2767  2767 D callstack: #12 pc 0008bc15  /system/lib/libc.so (__libc_init+48)


void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
              union wpa_event_data *data)
{
    struct wpa_supplicant *wpa_s = ctx;
    int resched;


    dumping_callstack();

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值