老板说要加lttng,哎,咋就我一个人没有听说过这玩意
稍微百度了一下,就是一个trace工具,看着蛮高级的
我在poky/documents下找到说明,但是按他的说法,只要加一个配置tools-profiles就ok,但实际不是
第一次尝试
就是按上面的来搞,我连lttng都没有加进去,没有这些工具
第二次尝试
我就在image.bb里强制加上了,虽然加上了,但是一直没法用
lttng list --kernel
Error: Unable to list kernel events: Kernel tracer not available
第三次尝试
改内核吧,
必选配置:
CONFIG_MODULES 内核模块支持
CONFIG_KALLSYMS 查看wrapper/ 文件。
CONFIG_HIGH_RES_TIMERS 高精度时钟,LTTng2.0的时钟源
CONFIG_TRACEPOINTS 内核追踪点
可选配置(下面的内核配置会影响LTTng的特性):
CONFIG_HAVE_SYSCALL_TRACEPOINTS:
系统调用追踪:
lttng enable-event -k --syscall
lttng enable-event -k -a
CONFIG_PERF_EVENTS: lttng add-context -t perf:*
CONFIG_EVENT_TRACING:
事件追踪,块层的追踪
CONFIG_KPROBES lttng enable-event -k --probe ...
CONFIG_KRETPROBES lttng enable-event -k --function ...
也来来回回编了几次内核,研究了一下,主要还是我CONFIG_TRACEPOINTS一直没有启用出来。
我竟然没有加这玩意 babeltrace2
加上就可以用了
一会会就这么多trace了,害怕
老板说这个trace在设备里不行啊,你得给我搞出来
行!怎么不行!
- host叫qemu里的串口程序把lttng log打包一下
2. qemu叫host把压缩包scp到host上
3. 完事,撒花