GNU Debugger basic instruction

本文介绍如何使用GDB进行程序调试,包括设置断点、控制程序流程及获取变量等操作。文章详细解释了如何通过不同命令精确地定位问题所在,帮助开发者高效地解决程序中的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Note: Make sure you compile -o is with 0 not other numbers, (-o3 will use compile optimisation which make the line in the real running program differs from what you did.)

complie with -g
use gdb executablefilename

Set break point
  • break functionname : break at function call.
    eg:break add(int,int) specifying function name can ambiguity in overloading.
  • break filename.cpp:linenumber :break at specified file’s line.
  • info breakpoints/info break : print break points infos
  • delete breakpointname: delete one break point.
Control flow commands

r/run: run the program from start
s/step: single step and step in when encounter a function.
n/next: single step but does not step in function.
c/continue: continue until next break point or error.

Get variables

print varname: get the variable value.
display/undisplay varname: constantly display variable values or turn off.
watch varname: watch a variable, when the value of variable changes, notifies the programer.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值