1

Python で開発しているとき、特定のメソッドをデバッグしたいことがよくあります。その場合、インタラクティブ コンソールからメソッドを呼び出すか、インタラクティブ コンソールをデバッグするのが理にかなっています。ただし、メソッドが PTVS の対話型ウィンドウから呼び出されると、そのメソッドのブレーク ポイントで停止しません。

もし可能でしたら、やり方を教えてください。そうでない場合は、この機能をリクエストしたいと思います。また、特定のメソッドをメイン スクリプトから呼び出すよりもすばやくデバッグする方法があるかどうかも知りたいです。

Visual Studio 2013 Ultimate で PTVS 2.0 RC を使用しています

4

1 に答える 1

2

通常の (非デバッグ) Python Interactive ウィンドウを使用する場合、[Debug] -> [Attach to Process] を使用して、実行中の python.exe プロセスに VS を実際にアタッチできます。これが完了すると、対話型ウィンドウがブレークポイントにヒットするなどの何かを行うと、デバッガーはそのブレークポイントにヒットします。

トリッキーな部分は、ブレークポイントが解決されるような方法でファイルからコードをロードすることです。特に、$loadREPL コマンドは、元のファイル コンテキストを保持せずに、ファイルを読み取り、REPL で 1 行ずつ評価するだけであるため、機能しません。必要なのは、Python 機能import( やopen+など) を使用してスクリプトをロードすることですexec

また、いくつかの問題もあります。たとえば、ブレークポイントで一時停止すると、REPL ウィンドウが応答しなくなります。

于 2013-11-25T21:46:24.113 に答える