或许你早已习惯了用printf来调试,亦或许你习惯了用IDE/GDB来调试。最近学习之余,发现了一个代码可视化的网站,它支持Python,C++,Java还有Javascript语言,其中Python支持到3.11,C++甚至支持部分C++20的特性!网站在这(https://pythontutor.com/render.html#mode=edit)我们来看看效果叭~
页面比较简洁,只需要输入我们想要可视化的代码,然后点击Visualize Execution便可。
若想单步调试,可以点击Next,Prev是回退,Last是直接一步到位,输出最后结果并且对相应的数据进行可视化,First则是回到初始状态。
再来看看C Plus Plus!
这是一段快排的代码,此外,针对C++还有额外的选项,就比如说显示内存地址。以这种方式可以比较清晰明了地看到函数调用方式,地址之类有用的信息,对不会GDB调试的萌新来说是相当友好了。
不过它并不支持ranges,views一类的新特性,同时当循环层数或者递归层数过深的时候也无法正常使用,期待这个网站的改进。
晚安