首先要编译出带调试信息的程序,加个-g参数
gdb 程序名 进入gdb模式
ulimit -c unlimied 设置core文件大小为没有限制
break 文件名 : 行号 设置断点 (甚至可以设置条件断点)info breakpoints可以查看断点信息
list first,last 列出代码(作用不大)
step 单步调试(逐语句)
next (逐过程,不进函数,直接返回执行结果)
continue 继续执行到下一个断点
print 打印变量名
watch 设置观察点
frame 切换栈帧
gdb 为所有存活的栈帧分配一个数字编号,最深帧的编号是0,被它调用的内个帧的编号就是1。这些编号子程序中是不
存在的,只不过时调试的时候被gdb用的。
关于函数帧的两个指令:
frame args
移动到args指定的栈帧中去,并打印选中的栈的信息。args可以时帧编号或者时帧的地址。如果没有args,则打印当前帧的信息。
select-frame args
gdb 可执行程序exe
进入gdb环境后
core-file core的名字
敲命令bt可以查看准确信息 (backtrace)
q退出
标签:core,frame,args,gdb,编号,debug,断点 From: https://www.cnblogs.com/jiayu-code/p/16738448.html