linux用gdb调试遇到函数调用怎么办?
答案:4 悬赏:30 手机版
解决时间 2021-02-23 20:37
- 提问者网友:我一贱你就笑
- 2021-02-23 05:12
linux用gdb调试遇到函数调用怎么办?
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-02-23 05:33
例如你出现函数调用的那一行为N行,那你可以这样做:
break (N-1)
run
然后程序就会执行到N-1行停下来,接下来你可以选择底下的2个命令中的一个:
next //执行下一行源代码,但并不进入调用函数内部
step //执行下一行源代码,进入函数内部,当然,这个时候,你可以在调用函数里面加断点
break (N-1)
run
然后程序就会执行到N-1行停下来,接下来你可以选择底下的2个命令中的一个:
next //执行下一行源代码,但并不进入调用函数内部
step //执行下一行源代码,进入函数内部,当然,这个时候,你可以在调用函数里面加断点
全部回答
- 1楼网友:duile
- 2021-02-23 07:33
直接调用就行了啊
如果你想观察每次函数调用情况 以及个变量的值
你可以在调用函数那里用break 设一个breakpoint
- 2楼网友:玩家
- 2021-02-23 06:59
.c是源文件,不是程序,没有可执行权限,所以不能用来调试。
应该先用gcc来编译,编译之后的程序就具有可执行权限的。
如果我们想用来调试,比如1.c,可以这样
gcc 1.c -o 1.out -g
然后
gdb 1.c
gdb的用法自己再去找详细资料吧,一般会用l(list,列出源代码),b(break,设置断点),r(run,运行文件)就可以了。
- 3楼网友:第四晚心情
- 2021-02-23 06:35
运用以下2个命令即可:
1. next //执行下一行源代码,但并不进入调用函数内部
2. step //执行下一行源代码,进入函数内部,这个时候,可以在调用函数里面加断点。
gdb中的函数调用:
call name 调用和执行一个函数(gdb) call gen_and_sork(1234,1,0)(gdb) call printf(“abcd”)=4finish 结束执行当前函数,显示其返回值(如果有的话)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯