WingIDEが便利です。そのデバッガは本当にいいですし、デバッグ中のコードに対する最小限の計装でリモートプロセスのデバッグもサポートしています。それは無料ではありませんが、コストの価値がある、IMHO。 (私はWingwareとは全く関係ありません。ただ満足した顧客です...)
Wingでリモートデバッグを有効にするには、ファイルwingdbstub.py
をデバッグするアプリと同じディレクトリにコピーする必要があります。デバッグを開始したいコードの場所にインポートします。 (これはWingIDE docsにかなり徹底的に覆われている。)
あなたがthis exampleを取り、次のように見えるようにmyfunc()
方法を変更する場合:
def myfunc(conn, commands):
import wingdbstub
# ... remainder same as original example
をあなたはWingIDEを起動することができるはず、直後にブレークポイントを設定import
行を開き、コンソールからサンプルスクリプトを起動します。自動的にWingに接続し、ブレークポイントで停止する必要があります。
デバッグ接続を正常に動作させるのに問題がある場合は、this postが役に立ちます。 (WingIDEのドキュメントでは、接続の問題をカバーするうえでもうまくやっています。)
私は全く理解していませんが、明確にすることはできますか? –
プロセスの開始をコメントアウトデバッグしますが、デバッガを有効にしてこのプロセスのみを実行するコマンドラインオプションにします。プログラムを起動します(無効にしたプロセスは実行されないため、おそらく停止します)。次に、コマンドライン引数を指定してプログラムを起動します。あなたが今コンソールに持っているのは、デバッガの下で実行する必要のあるプロセスです。バックグラウンドの2番目のコンソールで、他のすべてが実行されています。このようにして、デバッグされたプロセスはマルチプロセッシングを使用しません。 –