gdbの使い方 Apacheをデバッグに役立つTips



Apacheをシングルプロセスで立ち上げる

Apache ハンドラーを開発しているときなど、httpd を 直接 gdbにかけたい場合、シングルプロセスで起動するとデバッグしやすい。

具体的には下記のように、「-X」オプションをつけて、apacheを起動します。

$ sudo gdb httpd
gdb > run -X -f /etc/httpd/conf/httpd.conf

ブレークポイントをソース中に設定する

gdbで、”’break 30”’とかやってもいいが、ソース中でbreak pointを設定することもできる。
特定の条件下の場合のみbreakさせたい場合などに便利。

signal.hをincludeしてSIGTRAPを投げるとbreakする。

サンプルコード

 #include <stdio.h>
 #include <signal.h>
 
 int main() {
 
        printf("a\n");
        raise(SIGTRAP);
        printf("b\n");
 
        return 0;
 }

参考書籍

Apache モジュールプログラミングガイド GDBハンドブック

参考ページ

Leave a Reply

You must be logged in to post a comment.