🪔

Claude Codeで対話実行時のPythonのメモリやレジスタの動きを可視化するプログラムを作って動かす

に公開

サマリ

任意のプログラム実行時にメモリの動きを可視化できる統合環境があると、教育に便利では?と思いClaude Codeに作成いただき、実行してみました。

マシンスペック

MacBook Air M2 arm64

プログラムの作成

今回もラフにプロンプトを打ち込みます。

claude
> Pythonのプログラムを対話型実行して、その横でレジスタやメモリをASCII ARTで可視化できリアルタイムでメモリやレジスタの使用が可視化できるプログラムをC言語で作ってください。

5分程度待つと出来上がりました。makeなどでエラーが出たので、修正しました。
少し意図と違ったので、追加でpythonスクリプトも読み込めるようにお願いしました。

⏺ 完成しました!引数でPythonファイルを指定して実行できるようになりました。

  使用方法

  # Pythonファイルを指定して実行
  ./python_visualizer script.py
  ./python_visualizer test_script.py

  # 対話モード(デフォルト)
  ./python_visualizer
  ./python_visualizer -i

  # ヘルプ表示
  ./python_visualizer --help

  新機能

  - ファイル引数: ./python_visualizer script.py でPythonファイルを直接実行
  - 対話モード: -iオプションでインライン編集可能
  - ヘルプ: --helpで使用方法を表示
  - エラーハンドリング: ファイルが存在しない場合やサイズ制限の処理
  - メモリ管理: 動的メモリ割り当てでファイル内容を管理

  ファイルモードではrキーでのスクリプト変更はできませんが、対話モードでは従来通り変更可能です。

pythonのサンプルスクリプトも準備されているので、確認のためpython単体で実行してみました。

python3 test_script.py 
Testing Python Visualizer
==============================
x = 42
y = Hello, World!
z = [1, 2, 3, 4, 5]

Fibonacci sequence:
fib(0) = 0
fib(1) = 1
fib(2) = 1
fib(3) = 2
fib(4) = 3
fib(5) = 5
fib(6) = 8
fib(7) = 13

Data: {'name': 'Python', 'version': 3.9, 'active': True}
Sum of 0-9: 45

フィボナッチ数列の演算プログラムでしょうか。

起動

make
./python_visualizer  test_script.py

下記のような画面が出てきました。

ステップ実行など色々な機能が備わっています。
先ほどのpythonファイルを読み込ませて、実行した動画です。

まだまだ改善点がありそうですが、メモリやレジスタを座学で学んだ後に使うのは良いのかな?と感じました。

Discussion