2

独学のプログラマーとして、スクリプトをビルド/実行するときにすべての変数をメモリに保持する対話型コンソールを使用してデバッグすることを学びました。しかし、IDE (さらに言えば、CLI + エディター ソリューションと思われます) でのデバッグの圧倒的な傾向は、スクリプトを 1 か所で作成し、コピーした場合にのみ変数を保持する別のコンソール「サンドボックス」タイプの領域を提供することであることに気付きました。 /コードを貼り付けます。

対話型コンソールなしでどのようにデバッグしますか? より良いプログラマー/デバッガーになるのに役立ついくつかのデバッグ手順を挙げてくれる人はいますか?

現在、これは私がしていることの非常に単純化されたバージョンです:

  1. 疑似コードを書く (時々)
  2. 動作するはずのコードをエディターで記述します
  3. スクリプトを実行 / ビルドする
  4. stdout でエラーを確認する
  5. エラーがなければ、7.
  6. エラーの場合は、問題のあるコードを修正してから 2 に戻ります。
  7. 変数名をコンソールに入力して、予想どおりであることを確認します。
  8. 意図したとおりに機能するまで、すすいで繰り返します。
4

5 に答える 5

8

これを行う最善の方法は、テストを作成することです。これにより、ステップ 3 から 7 が自動化されます。また、他のコードを変更したときに回帰が発生するのを防ぎます。

于 2013-08-05T20:30:31.993 に答える
1

qこのモジュールを簡単に使用できます https://pypi.python.org/pypi/q

xyxy.py

import q
do_something()
q.d() #this will open interactive shell

def f():
    do_something()
    q.d() #open console here with access to all local variables of f

自動化されたテストを使用することもできます (組み込みの unittest モジュール、nosetests など)。

于 2013-08-05T20:30:53.393 に答える
1

まともな python IDE を使用してください - そこにはたくさんあり、ホバリングまたはウォッチを追加してブレークポイントで停止し、変数を検査して、ブレークポイントのコンテキストでコードを操作できるコンテキスト コンソールに入ることができます。

于 2013-08-05T20:37:19.597 に答える
1

問題のあるコードの領域の間に print ステートメントを使用します...それ以外の場合は、優れた IDE をダウンロードしてください

于 2019-05-30T14:43:12.183 に答える