debug visualizer 直接输入变量名即可渲染数组或树结构,但需确保断点设在数据已初始化位置(如arr.push()后或root创建后),否则显示空白或报错;python需手动构造json字符串输入。

Debug Visualizer 怎么看数组和树结构
直接输变量名就能渲染,但得确保断点停在数据已初始化的位置。比如 arr 是空数组,或 root 还没 new 出来,Debug Visualizer 会显示空白或报 Cannot extract data for undefined。
- 数组:断点设在
push()或swap()后,输入arr→ 自动转成表格视图 - 二叉树:节点必须有
left/right属性,输入root→ 默认走树形提取器;若想强制用图渲染,改输{ kind: "graph", nodes: [...], edges: [...] } - 循环引用(如
node.parent = parent)会导致提取器卡死,调试前建议用structuredClone(node)剥离
PlantUML 和 Mermaid 谁更适合画调用链
PlantUML 更适合手动控制细节,Mermaid 更适合快速写流程图并嵌入 Markdown。两者都不依赖 CodeGeeX,但都要求你先理清逻辑——CodeGeeX 的作用是帮你“说清楚”,不是替你“画出来”。
- PlantUML:适合跨文件调用链,比如
Controller → Service → Mapper → SQL,需本地装Graphviz,用@startuml语法,支持分组、注释、样式定制 - Mermaid:语法更轻量,
flowchart TD写完就能预览,适合单文件内函数跳转,但对跨文件依赖无感知,也不支持 SQL 或配置项这类非代码节点 - 别指望自动同步:CodeGeeX 输出的文本描述 ≠ 可运行 PlantUML 代码,中间那几行箭头关系要你亲手补全,漏一个分号就渲染失败
为什么 Code Outline 和 Call Graph Editor 不能替代 Debug Visualizer
Code Outline 显示的是符号层级(类/方法/变量),Call Graph Editor 显示的是静态调用关系(谁调了谁),而 Debug Visualizer 显示的是运行时数据状态(此刻数组第3个元素是多少)。三者维度不同,混用才有价值。
-
Code Outline帮你快速跳转到processOrder()定义处,但它不告诉你这函数里items.map(...)返回了什么 -
Call Graph Editor能生成.callgraph.json,但里面没有items.length的值变化过程 -
Debug Visualizer不解析语法,只消费运行时值;它不关心你写了多少层嵌套,只认当前作用域里能访问到的变量名
Python 要可视化得自己拼 JSON
截至 2026 年 8 月,Debug Visualizer 仍无 Python 原生提取器。别试 my_list 直接输——它会当字符串处理,结果是一行文字。
- 正确做法:断点暂停后,在调试控制台(
Ctrl+Shift+Y)执行:import json; json.dumps({"kind": "array", "data": my_list}) - 复制输出的 JSON 字符串,粘贴进
Debug Visualizer输入框,注意双引号要保留,换行符用\n - 树结构同理:构造
{"kind": "tree", "root": {...}},但left/right必须是字典而非对象实例,否则解析失败











