是否進入帶調試信息的函數
例子
#include <stdio.h>
int func(void)
{
return 3;
}
int main(void)
{
int a = 0;
a = func();
printf("%d\n", a);
return 0;
}
技巧
使用gdb調試遇到函數時,使用step命令(縮寫為s)可以進入函數(函數必須有調試信息)。以上面代碼為例:
(gdb) n
12 a = func();
(gdb) s
func () at a.c:5
5 return 3;
(gdb) n
6 }
(gdb)
main () at a.c:13
13 printf("%d\n", a);
可以看到gdb進入了func函數。
可以使用next命令(縮寫為n)不進入函數,gdb會等函數執行完,再顯示下一行要執行的程序代碼:
(gdb) n
12 a = func();
(gdb) n
13 printf("%d\n", a);
(gdb) n
3
14 return 0;
可以看到gdb沒有進入func函數。
詳情參見gdb手冊
貢獻者
nanxiao