把采集结果渲染成人能看懂的单文件网页
view_renderRender captured debug data into an interactive dark-themed HTML report with zoom, pan, and replay. Feed raw data or a file path to auto-generate timelines, scope waveforms, or hotspot rankings—skip manual webpage coding.
Instructions
把已有的采集结果渲染成一个可交互的单文件 HTML(深色主题、可缩放/平移/回放),给人看「问题出在哪、场景长什么样」——不必再手写网页。渲染层是固定的:同一类数据画出来长得一样,看图的人不用每次重新适应。
最常用的一步调用:把采集工具的返回原样丢进 data(不用先转格式,工具自己认):
· trace_swd_read / trace_buff_dump / trace_eventrec → 事件时间线:上下文泳道、切换竖线(放大显示切向谁)、中断进出、异常标记、丢失断口;
· trace_scope_read(或自己拼 {t:[…], 变量:[…]})→ 变量波形(bool/enum 自动阶梯);
· trace_pcsample / trace_profile / coverage_read → 函数热点排行;
· trace_eventrec 的 items(Event Statistics)→ 每个事件的耗时排行;
· trace_record(action="read") → 函数进入/退出时间线;
· 自己写 {kind:"timeline|scope|bars|report", …} → 展示算法/自定义信号。
数据大时先落盘:trace_swd_read(out_file="trace.json") 拿到几万条事件时,别再把它塞回对话,改传 data_file="trace.json"(省 token,也避免截断)。
params:view=auto|timeline|scope|bars|report(默认 auto 认数据不认人);names="0x10=switch,1=led_task" 给 id 起人名;top=热点头条数;out=输出路径(默认 ./mdkdebug_views/-<时间戳>.html);title/subtitle 写进页面抬头。
认不出就报错、不画空图(error_code=view-unknown-data/view-bad-)。返回 counts 是画了什么,badges 是页面顶部的关键数,next 是给人看的操作提示;返回 path 直接交给用户,浏览器(file://)打开即可,页面*无外部依赖、无需联网。
一次快照,不会自动刷新:数据变了要重新渲染。页面上「这说明不了什么」那栏是边界声明(图上没有的=没被记录/没插桩,不等于没发生),讲结论前先看它。
只想讲清一个问题(结论+证据+图)用 report:sections 里的 view 可以直接嵌采集结果。
【参数】必填: 无;可选: data, data_file, view, title, subtitle, names, top, max_events, out
【调用示例】{}
【风险】中——会改变目标状态或占用共享资源(调试态/串口/Keil 实例),必要时可回退。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| out | No | ||
| top | No | ||
| data | No | ||
| view | No | auto | |
| names | No | ||
| title | No | ||
| subtitle | No | ||
| data_file | No | ||
| max_events | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |