デバッグを通じて、問題を簡単に特定し、バグを解決できます。
この記事は、主に本で言及されている内容を要約しています。詳細は、ゆっくりと読みながら体験するため、ゆっくりと更新されます。は主に 6 つの部分に分かれています:
1. GDB を使用したデバッグ:
具体的なデバッグ方法については、「Nginx 学習 14-GDB デバッグ Nginx 予備テスト」および「Nginx の詳細分析」の著者のブログを参照してください。 ": クリックしてリンクを開きます
実際、前のセクションの方法を使用すると、Eclipse を使用してコードを簡単にデバッグできます。もちろん、gdb はコマンド ラインを使用する方がより柔軟です。
パラメーターを使用して gdb デバッグを入力します:
gdb --args ./nginx -c /home/zy/code/web/nginx-1.6.2/conf/nginx.conf
2. ログ情報を使用して Nginx を追跡します:
printf が小さなプログラムの印刷関数であることはわかっています。プログラムが大きい場合、printf はそれほど柔軟ではありません。したがって、すべてのシステムは、Linux カーネル/NS3 ネットワーク シミュレーション ツールなど、さまざまなレベルの出力制御を提供します。設定でログ情報のディレクトリとレベルを設定します。次に、プログラム内で ngx_log_xxx() 一連の関数を呼び出します。
3. strace/pstack を使用してプログラムをデバッグします。
これら 2 つのコマンドを使用して、次に、pstack 自体は gdb を使用して実装されたシェル スクリプトです。
たとえば、関数を実装するためのアルゴリズムを作成します。正確には、メイン関数で出力を構築し、これらを出力する必要があります。コードの追加のテストはスタブ テストです。また、スタブ テストは、リンク
5 を開きます。
特定の状況下でのみ実行される特定のことをテストするには、ソケット通信用の独自のクライアントを作成してください。コードが到着しました
上記では、
nginx の追跡とデバッグについて、その側面も含めて紹介していますが、PHP チュートリアルに興味のある友人に役立つことを願っています。