Skip to content

【RFC】- 可视化调试 #5

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions