- 実行
gdb exec_file corefile
- コールスタック*1の内容表示
(gdb) bt ((backtrace の略)) #0 0x007e2663 in strlen () from /lib/tls/libc.so.6 #1 0x007b6525 in vfprintf () from /lib/tls/libc.so.6 #2 0x0804bee2 in functionname (fmt=0x80851000 "]") at main.c:186
- 知りたい関数までさかのぼりーの*2
(gdb) frame 2 #2 0x0804bee2 in functionname (fmt=0x80851000 "]") at main.cc:186 186 (void) vfprintf (log_fp, fmt, ap);
- 周辺のソース表示
(gdb) list 181 182 buf[len] = '\0'; 183 fprintf (log_fp, "%s: ", buf); 184 185 va_start (ap, fmt); 186 (void) vfprintf (log_fp, fmt, ap); 187 va_end (ap); 188 fprintf (log_fp, "\n"); 189 190 fclose (log_fp);
- 変数の内容表示
(gdb) p buf ((pはprintの略)) $1 = "Fri May 2 00:00:00 "
という感じでデバッグする。