2012-06-25 22 views
9

多くのネストされたループを持つPythonプログラムを開始し、プログラムには数日かかるでしょう。私はちょうどループの値の1つが間違っていることに気づき、無限ループを作ります。実行中のPythonプログラムを変更する

私は現在のプログラムを中断し、ループ範囲を変更して正しく動作し、無限ループでトラップしてブレークさせる方法もありますか?

ご協力いただきありがとうございます。

+2

ヒントについては、[here](http://wiki.python.org/moin/DebuggingWithGdb)を参照してください。 – georg

答えて

1

プログラムがその状態またはその結果を随時保存する場合、既に実行されたステップをスキップするロジックを追加することができます。

それ以外の場合は、これを変更する方法はありません。

0

かなり古い記事だと思いますが、今すぐ出てきました。

スクリプトとしてPDBの下で実行してください: のpython -m pdbの

これは、PDBの下でそれを実行する場合は、あなたはまだあなたが次のことを行うことができます試してみたいです。 pdbに入ったら、コマンド 'c'(続行)を入力してください。これでプログラムが始まります。

無限ループに遭遇したら、Ctrl + Cを押すだけで、デバッガ内のプログラムが停止します。 これで、必要なPython文を実行できました。 おそらく、新しいスクリプトを定義してそのスクリプトをインポートし、そのスクリプトまたは終了から関数を実行することもできます。

私は常にデバッガの下で実行するのは良い考えではないことを知っていますが、少なくとも上記のことはあなたが意図したものを解決するでしょう。

関連する問題