Python Toolsで対話的にデバッグする


このエントリーをはてなブックマークに追加

Visual StudioPython Toolsプラグインをインストールした構成にて、コードの実行中に対話的にデバッグを行う方法についてご紹介します。Windows 7 + Visual Studio Express 2013 for Windows Desktop Update 4 + Python Tools 2.1という構成で動作を確認しています。

ブレークポイントを設定してコードを実行

デバッガを止めたい行にてF9を押し、ブレークポイントを設定します。次にF5でデバッグ実行し、ブレークポイントで処理が中断するのを待ちます。

Python Debug Interactiveウィンドウを開く

デバッグ→ウィンドウ→"Python Debug Interactive"をクリックして、Python Debug Interactiveウィンドウを開きます。Shift + Alt + Iというショートカットキーを使ってもOKです。

このWindowでさまざまなことが可能です。例えば、変数の確認や書き換えができます。以下では変数xの値を確認後、値を書き換えています。

>>> x
218
>>> x = 77
>>> x
77

また専用コマンドも用意されています。例えば:

  • $where または $w または $bt
    • 現在のスレッドにおける関数の呼び出し階層を表示
  • $up, $down
    • 階層を上がったり下がったり
  • $threads
  • $thread <スレッド番号>
    • 他のスレッドに移動

現在の変数の一覧を表示するには、Pythonの組み込み関数である locals(), globals(), dir() を使います。IDEのローカルウィンドウを見てもよいと思います。

他の専用コマンドについては$helpと打つか、 Python Tools for Visual Studio - Home を参照してください。

参考