首页 > 其他分享 >【debug】gdb

【debug】gdb

时间:2022-09-28 16:12:57浏览次数:83  
标签:core frame args gdb 编号 debug 断点

首先要编译出带调试信息的程序,加个-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

相关文章