或許你早已習慣了用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一類的新特性,同時當迴圈層數或者遞迴層數過深的時候也無法正常使用,期待這個網站的改進。
晚安