2

誰かがリモートで Django サーバーにアクセスしている場合 (たとえば、ブラウザーではなく、ロボットやその他の自動化ツールを使用)、サーバーの動作を追跡し、問題をデバッグするための "良い" 方法は何ですか?

4

1 に答える 1

3

あなたがすべきこと

本番サーバーではデバッグを行うべきではないため、基本的にmanage.py runserver+を使用できる開発サーバーを使用する必要がありますimport pdb; pdb.set_trace()

なぜできなかったのか

開発サーバーが heroku などのプラットフォームで実行されているとします。スクリプトの開始方法を制御できない場合があります。そこから、リモート デバッグを使用することが可能です。その方法は次のとおりです。

あなたにできること

コードの実行をステップインしてリモートでデバッグできるようにしたい場合(これは、本番環境のセットアップにはまったく不適切です)、 を使用できますrpdb。自分が何をしているのかを理解していない限り、これを行うべきではないという事実を強く主張します (本番サーバーで行っていない場合に限ります!)

基本的に、rpdbを呼び出すと、rpdb.set_trace()pdb開始され、ポート 4444 にリダイレクトされます (ただし、もちろん変更できます)。次に、そのポートに telnet (または netcat) で接続し、そこからデバッグを行います。stdinstdout

結びの言葉

本当は、こんなことをしてはいけません。

于 2012-05-26T17:37:31.460 に答える