嵌入式Trace调试

说明

查看RK的文档,抄袭记录下

Linux Trace是⼀种⽤于抓取和分析系统运⾏时信息的⼯具。允许开发⼈员跟踪和分析系统的各种活动,以便深⼊了解系统的性能、⾏为和故障。下⾯是关于Linux Trace数据抓取的说明:

  1. 数据抓取范围:Linux Trace可以抓取各种级别的数据,包括系统级别、进程级别和内核级别的数据。可以选择抓取特定进程、线程或系统整体的数据,以满⾜您的分析需求。

  2. 数据抓取⽅法:Linux Trace提供了多种抓取⽅法,包括静态跟踪、动态跟踪和事件触发跟踪。可以根据需要选择合适的⽅法进⾏数据抓取。

  3. 抓取的数据类型:Linux Trace可以抓取各种类型的数据,如系统调⽤、函数调⽤、硬件事件、中断、进程状态、⽹络流量等。这些数据可以帮助您了解系统的运⾏状态、性能瓶颈和资源利⽤情况。

  4. 数据分析和可视化:抓取的数据可以通过专⻔的⼯具进⾏分析和可视化。可以使⽤Chrome浏览器进⾏可视化的分析。这些⼯具可以帮助识别系统瓶颈、优化性能,并提供可视化的结果。

  5. 性能分析和故障排查:通过抓取和分析Linux Trace数据,可以进⾏性能分析和故障排查。可以识别系统中的性能瓶颈,发现潜在的问题,并定位故障的根本原因。这有助于改进系统的性能和可靠性。

  6. 实时监控和调试:Linux Trace还可以⽤作实时监控和调试⼯具。您可以在系统运⾏时实时监视和分析各种活动,以便及时响应和调试问题。

配置开启Trace

kernel打开如下配置:

CONFIG_IRQSOFF_TRACER=y
CONFIG_PREEMPT_TRACER=y
CONFIG_SCHED_TRACER=y

调试步骤

Trace抓取脚本

如下为Trace抓取脚本,命名为captrue.sh,⽰例中抓取10s的数据:

#!/bin/sh
# 禁⽤调度程序中的 NO_TTWU_QUEUE 功能
echo NO_TTWU_QUEUE > /sys/kernel/debug/sched_features
# 进⼊事件跟踪的⽬录
cd /sys/kernel/debug/tracing/events
# 启⽤特定的事件类别进⾏跟踪
echo 0 > sched/enable                           # 调度事件
echo 1 > sched/sched_switch/enable              # 调度切换事件
echo 1 > sched/sched_wakeup/enable              # 调度唤醒事件
echo 1 > block/enable                           # 块设备事件
echo 1 > scsi/enable                            # SCSI 事件
echo 1 > irq/enable                             # 中断事件
echo 1 > workqueue/enable                       # ⼯作队列事件
echo 1 > power/enable                           # 电源事件
# 返回跟踪⽬录
cd ..
# 设置跟踪的缓冲区⼤小(以千字节为单位)
echo 96000 > buffer_size_kb
# 启⽤进程组 ID 的记录
echo 1 > options/record-tgid
# 将跟踪时钟设置为 'global'
echo global > trace_clock
# 开始跟踪
echo 1 > tracing_on
# 等待 10 秒钟以捕获数据
sleep 10
# 停⽌跟踪
echo 0 > tracing_on
# 将捕获的跟踪保存到指定的⽂件中
cat trace > $1

命令执⾏⽰例:

# 将trace抓取存放⾄/data/trace.txt
./captrue.sh /data/trace.txt

Trace⽂件查看⽅法

打开Chrome 浏览器并输⼊⽹址"chrome://tracing/",然后按Enter 键。这将打开Chrome 浏览器的跟踪⻚⾯。

alt text

点击Load导⼊输出的 trace.txt.

alt text

Trace可视化操作说明

在Chrome 浏览器的跟踪⻚⾯,W、A、S、D 键通常⽤于在时间轴上进⾏导航和缩放。以下是相应的快捷键说明:

W:时间轴放⼤。

A:向左滚动时间轴。

S:时间轴缩小。

D:向右滚动时间轴。

<:向左移动任务(移动过程被选中的任务会⾼亮显⽰)。

>:向右移动任务(移动过程被选中的任务会⾼亮显⽰)。

实践

还挺有意思

alt text

posted @ 2025-12-11 17:17  杨旭0324  阅读(6)  评论(0)    收藏  举报