tracer ftrace笔记(23)—— 上层trace打印流程-TODO

1. ATRACE_INT 打印不出来分析

#define ATRACE_INT(name, value) atrace_int(ATRACE_TAG, name, value) // /system/core/libcutils/include/cutils/trace.h

static inline void atrace_int(uint64_t tag, const char* name, int32_t value)
{
if (CC_UNLIKELY(atrace_is_tag_enabled(tag))) {
void atrace_int_body(const char*, int32_t);
atrace_int_body(name, value);
}
}

atrace_is_tag_enabled(uint64_t tag)
atrace_get_enabled_tags()
atrace_init()
return atrace_enabled_tags;


atrace_init_once()
atrace_enabled_tags = atrace_get_property(); //获取 debug.atrace.tags.enableflags 属性的值


/data/local/tmp # getprop debug.atrace.tags.enableflags //没有抓trace时
0
/data/local/tmp # getprop debug.atrace.tags.enableflags //抓trace时
0x100496e
/data/local/tmp # getprop debug.atrace.tags.enableflags //结束抓trace
0

0x100496e = 1,0000,0000,0100,1001,0110,1110 //每bit表示含义见 /system/core/libcutils/include/cutils/trace.h

ATRACE_TAG_GRAPHICS 是 1<<1

atrace和systrace和ftrace: https://www.cnblogs.com/pyjetson/p/14946007.html //里面有讲解如何设置下去的。


/* 设置当前进程是否启用跟踪。 这用于防止 Zygote 进程内的跟踪。 */
atrace_set_tracing_enabled(bool enabled); //system/core/libcutils/include/cutils/trace.h ==> 都是使用这个在启动时关闭trace的,自己设置了仍然不生效, 设置成true/false都
打印不出来。

posted on   Hello-World3  阅读(145)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2019-04-11 过滤器模式

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示