为什么做的网站在浏览器搜不到,宁波建设监理协会网站,两个人能用的一个公司做网站吗,深圳网站建设 骏域网站建设用gdb调试程序时#xff0c;常常很困惑一些命令的使用#xff0c;要么是不知道这个命令#xff0c;要么忘了命令的使用方法。接下来是小编为大家收集的linux下gdb常用的调试命令#xff0c;希望能帮到大家。linux下gdb常用的调试命令gdb常用#xff1a;run 启动程序运行ne…用gdb调试程序时常常很困惑一些命令的使用要么是不知道这个命令要么忘了命令的使用方法。接下来是小编为大家收集的linux下gdb常用的调试命令希望能帮到大家。linux下gdb常用的调试命令gdb常用run 启动程序运行next 单步执行(不到函数内部)step 单步执行跟踪到函数内部finish 继续执行直到当前函数结束continue 继续执行直到下一个断点jump 9 直接跳到指定行list 显示源码l 310 显示特定范围的源码 l main显示函数的源码set listsize 50 修改源码显示行数break 设置断点b main设置函数断点b 9 设置指定行断点b 将下一行设置为断点b test if a 10 设置条件断点delete 删除断点d 3 删除指定的断点condition 修改条件 condition 4 a 90info 查看信息info threads 查看线程信息info breakpoints 查看断点信息info locals 显示局部变量info args 显示函数变量info registers 显示寄存器数据thread 2 切换线程where 查看调用堆栈(bt 或者 info s)frame 查看当前堆栈帧frame 8 查看指定堆栈帧信息info frame 查看当前堆栈帧更详细的信息print a 打印变量信息print/x a 十六进制输出变量信息print a b 可以进行表达式计算print $eax 显示某个寄存器的数据x/nfu 0×300098 显示指定地址的内存数据n 显示内存单位长度f 格式(除了 print 格式外还有 字符串s 和 汇编 i)u 内存单位(b: 1字节; h: 2字节; w: 4字节; g: 8字节)set vairiable a 100 可以修改变量的值commands 指定到了特定断点后执行的命令序列whatis buf 显示变量的类型dump memory 输出文件名 内存起始地址 内存终止地址restore 文件名 binary 起始位置watch buf buf的值一旦改变会触发watchpoint奇淫技巧cat ~/.gbinit gdb会从这个文件读取配置cat ~/.gdb_history呵呵对于gdb时想要查看长的字符串老是显示不全怎么半呢gdb参看数组字符串时默认只是显示部分的数据通过这个命令可以修改set print elements 0 默认这里设置是200设置为0表示没有限制还有其它一些set命令可以试试set print addressset print address on打开地址输出当程序显示函数信息时GDB会显出函数的参数地址。系统默认为打开的set print object 在C中如果一个对象指针指向其派生类如果打开这个选项GDB会自动按照虚方法调用的规则显示输出如果关闭这个选项的话GDB就不管虚函数表了。这个选项默认是offshow print pretty查看GDB是如何显示结构体的set print arrayset print array on打开数组显示打开后当数组显示时每个元素占一行如果不打开的话每个元素则以逗号分隔。这个选项默认是关闭的set print null-stop 如果打开了这个选项那么当显示字符串时遇到结束符则停止显示。这个选项默认为offset print pretty on如果打开printf pretty这个选项那么当GDB显示结构体时会比较漂亮set print union 设置显示结构体时是否显式其内的联合体数据。例如有以下数据结构p stringn显示偏移n后的字符串内容这个使用起来也是比较方便的看了“linux下gdb常用的调试命令”还想看