wordpress回收站在哪里,电脑网站策划书,上海网站建设 亿速,杭州网站案列gdb即GNU debugger#xff0c;用来调试程序 gdb使用前提 要使用gdb#xff0c;则需要在编译源代码时候使用-g参数 gcc -g –o test test.c启动gdb gdb 程序名 [corefile]corefile是可选的#xff0c;但能增强gdb的调试能力 Linux默认是不生成corefile的#xff0c;所以需要… gdb即GNU debugger用来调试程序 gdb使用前提 要使用gdb则需要在编译源代码时候使用-g参数 gcc -g –o test test.c启动gdb gdb 程序名 [corefile]corefile是可选的但能增强gdb的调试能力 Linux默认是不生成corefile的所以需要在用户profile文件中添加ulimit -c unlimited修改完成之后让profile文件及时生效 另外程序错误时候会生成core或者core.*文件也可作为其参数 gdb的使用 快速定位软件出错位置 启动gdb调试错误gdb test core关闭多余软件信息gdb -q test core如果软件出错就会打印出出错的语句 使用gdb调试 启动gdbgdb test运行程序(gdb) run显示导致段错误的执行函数树(gdb) where显示包含错误附近代码(gdb) list [m,n]m,n为可选参数表示起始行和结尾行 不带参数默认显示附近10行 显示表达式、变量的值(gdb) print 变量(表达式)
(gdb) print file::变量(表达式) ##是必须的以便让gdb知道指的是一个文件名。
(gdb) print funcname::变量(表达式)e.g. (gdb) print i变量的类型(gdb) whatis i结构的定义(gdb) ptype stgdb的断点使用 break命令设置断点break linenumbreak funcnamebreak filename:linenumbreak filename:funcname进入gdb调试模式gdb -q test(gdb) break 5 (gdb) run以上是进入gdb调试在代码第5行设置断点运行程序 查看已设置断点(gdb) info break从断点以后继续执行(gdb) continue删除一个断点(gdb) delete改变一个变量的值(gdb) set variable varname valuestep命令 当遇到一个函数的时候step将进入函数每次执行一条语句相当于step into(gdb) stepnext命令 当遇到一个函数的时候next将执行整个函数相当于step over(gdb) nextreturn [value]命令 停止执行当前函数将value返回给调用者相当于step return(gdb) return [value]转载于:https://www.cnblogs.com/cj5785/p/10664754.html