誰かがリモートで Django サーバーにアクセスしている場合 (たとえば、ブラウザーではなく、ロボットやその他の自動化ツールを使用)、サーバーの動作を追跡し、問題をデバッグするための "良い" 方法は何ですか?
質問する
603 次
1 に答える
3
あなたがすべきこと
本番サーバーではデバッグを行うべきではないため、基本的にmanage.py runserver
+を使用できる開発サーバーを使用する必要がありますimport pdb; pdb.set_trace()
。
なぜできなかったのか
開発サーバーが heroku などのプラットフォームで実行されているとします。スクリプトの開始方法を制御できない場合があります。そこから、リモート デバッグを使用することが可能です。その方法は次のとおりです。
あなたにできること
コードの実行をステップインしてリモートでデバッグできるようにしたい場合(これは、本番環境のセットアップにはまったく不適切です)、 を使用できますrpdb
。自分が何をしているのかを理解していない限り、これを行うべきではないという事実を強く主張します (本番サーバーで行っていない場合に限ります!) 。
基本的に、rpdb
を呼び出すと、rpdb.set_trace()
がpdb
開始され、ポート 4444 にリダイレクトされます (ただし、もちろん変更できます)。次に、そのポートに telnet (または netcat) で接続し、そこからデバッグを行います。stdin
stdout
結びの言葉
本当は、こんなことをしてはいけません。
于 2012-05-26T17:37:31.460 に答える