设断点,怎么设?
设了个行断点b 386
但是r以后出现
The program being debugged has been started already.
Start it from the beginning? (y or n)
怎么办?
8 个解决方案
#1
为了能够使用gdb调试, 在编译时需要指定-g选项, 这样生成的二进制文件中包含了很多调试信息。 假如foo.c使用了POSIX线程库, 那么这样使用GCC:
gcc -g foo.c -lpthread -o foo
得到了foo可执行文件.
然后执行gdb foo对foo进行调试.
*启动foo: start
*设置一个断点: break, 比如要在main函数入口设置一个断点, 使用break main
也可以指定具体某行, 比如break 100在第100行设置一个断点.
*单步执行: n(next), 与s(step)的区别是, step会在调用点上进入函数.
*打印变量的值: print expr, expr为变量的名字.
*列出源代码: l(list)
gcc -g foo.c -lpthread -o foo
得到了foo可执行文件.
然后执行gdb foo对foo进行调试.
*启动foo: start
*设置一个断点: break, 比如要在main函数入口设置一个断点, 使用break main
也可以指定具体某行, 比如break 100在第100行设置一个断点.
*单步执行: n(next), 与s(step)的区别是, step会在调用点上进入函数.
*打印变量的值: print expr, expr为变量的名字.
*列出源代码: l(list)
#2
The program being debugged has been started already.
Start it from the beginning? (y or n)
出现上面提示是你已经输入了"r",程序已经开始运行并停在某断点了
这时候可以输入n执行下一行,s进入函数,c继续运行.
Start it from the beginning? (y or n)
出现上面提示是你已经输入了"r",程序已经开始运行并停在某断点了
这时候可以输入n执行下一行,s进入函数,c继续运行.
#3
在for 结束的下一句设置断点后
用c命令执行
用c命令执行
#4
你如果嫌麻烦可以在windows下建一个环境
cygwin+eclipse
用这个调试非常方便,不用死记gdb的命令
cygwin+eclipse
用这个调试非常方便,不用死记gdb的命令
#5
单步走到循环语句末尾时,用until命令
#6
gdb c
#7
关注 接分
#8
设置断点
或者until
#1
为了能够使用gdb调试, 在编译时需要指定-g选项, 这样生成的二进制文件中包含了很多调试信息。 假如foo.c使用了POSIX线程库, 那么这样使用GCC:
gcc -g foo.c -lpthread -o foo
得到了foo可执行文件.
然后执行gdb foo对foo进行调试.
*启动foo: start
*设置一个断点: break, 比如要在main函数入口设置一个断点, 使用break main
也可以指定具体某行, 比如break 100在第100行设置一个断点.
*单步执行: n(next), 与s(step)的区别是, step会在调用点上进入函数.
*打印变量的值: print expr, expr为变量的名字.
*列出源代码: l(list)
gcc -g foo.c -lpthread -o foo
得到了foo可执行文件.
然后执行gdb foo对foo进行调试.
*启动foo: start
*设置一个断点: break, 比如要在main函数入口设置一个断点, 使用break main
也可以指定具体某行, 比如break 100在第100行设置一个断点.
*单步执行: n(next), 与s(step)的区别是, step会在调用点上进入函数.
*打印变量的值: print expr, expr为变量的名字.
*列出源代码: l(list)
#2
The program being debugged has been started already.
Start it from the beginning? (y or n)
出现上面提示是你已经输入了"r",程序已经开始运行并停在某断点了
这时候可以输入n执行下一行,s进入函数,c继续运行.
Start it from the beginning? (y or n)
出现上面提示是你已经输入了"r",程序已经开始运行并停在某断点了
这时候可以输入n执行下一行,s进入函数,c继续运行.
#3
在for 结束的下一句设置断点后
用c命令执行
用c命令执行
#4
你如果嫌麻烦可以在windows下建一个环境
cygwin+eclipse
用这个调试非常方便,不用死记gdb的命令
cygwin+eclipse
用这个调试非常方便,不用死记gdb的命令
#5
单步走到循环语句末尾时,用until命令
#6
gdb c
#7
关注 接分
#8
设置断点
或者until