ホームページ  >  記事  >  バックエンド開発  >  GDB を使用した nginx のデバッグ

GDB を使用した nginx のデバッグ

WBOY
WBOYオリジナル
2016-08-08 09:24:411529ブラウズ

<code>阅读源码的最好方式就是跟踪调试代码,这里介绍了如何利用GDB调试nginx的配置和步骤。
</code>

構成ファイルを変更します

<code>修改nginx.conf:
</code>
<code><span>#user  nobody;</span>
master_process <span>off</span>;
daemon <span>off</span>;</code>

daemon off; デーモンプロセスモードをオフにすることを意味します。これにより、フォークされた子プロセスを追跡するために GDB を使用する必要がなくなります。デーモンがデフォルトで有効になっている場合、標準出力は閉じられます。したがって、デーモン モードをオフにすると、printf を使用して変数の値を簡単に表示できます。
master_process off; マスタープロセス自体を使用してリクエストを処理することを意味します。

デバッグコード

<code>调试nginx和调试简单的单文件程序基本相同,只是在设置断点时有点差别。
在函数func_name处设置断点:`break func_name`,函数可以用<tab>键补全。
在file_name.c文件的第line行设置断点:`break file_name.c:line`
然后把代码跑起来就OK了,最常用的命令是backtrace,简写成bt。够简单吧,之后nginx的运行就都在你的掌控之中。
</code>

上記は、内容の側面も含めて、GDB を使用して nginx をデバッグする方法を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。