Skip to content

【RFC】- 可视化调试 #5

@MingkHe

Description

@MingkHe

客户需求:
Input: 提供测试代码,指定需要可视化的变量, 指定可视化变量的数据类型
Output: 一堆关于指定可视化变量的演化图片

思路:
分析用户代码,在可视化变量每次更新时画一张图,把这些图片收集起来再返回就行了。

使用工具:
代码分析和插入: python AST
绘图: Graphviz

具体实现:
关于如何在变量更新后绘图:
把用户代码转化成抽象语法树,然后找出要可视化的变量的位置,在更新这个变量的语句后插入绘制图片的函数。
关于如何绘图:
把变量的stage传递进绘图函数,然后绘图函数把变量所需的信息转化成我们定义好的绘图数据结构,然后再把这种数据结构转化成Graphviz所需的代码格式,最后通过Graphviz生成图片即可。

定义的绘图数据结构如下:
Screen Shot 2020-07-03 at 2 34 19 PM

第一阶段的目标:
画出数组和链表

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions