您的位置:首页 > 编程语言 > C语言/C++

gdb调试C/C++程序

2016-12-13 16:42 423 查看
用gdb调试程序时,要使用-g选项添加调试信息,如:

g++ -g pagerank.cpp -o pagerank

接着使用gdb pagerank即可进入调试程序。

常用命令如下:

显示图形化代码 Ctrl+x+a
启动程序 r (run)
断点 b (breakpoint)
清除/禁用/启用断点 delete/disable/enable
单步 s (step 碰到函数会进入)
单行 n (next 碰到函数不会进行, 而是整条执行)
执行到下一个断点 c (continue)
查看变量 p (print)
显示变量 display
查看当前调用堆栈 bt (backtrace)
查看某一层调用代码 f (frame)

关于程序出现段错误 segmentation fault (core dump)的调试方法详见https://my.oschina.net/zenglingfan/blog/169871

ulimit设置系统资源的参数如下:

-a:显示目前资源限制的设定;

 -c :设定core文件的最大值,单位为区块; 

-d <数据节区大小>:程序数据节区的最大值,单位为KB; 

-f <文件大小>:shell所能建立的最大文件,单位为区块; 

-H:设定资源的硬性限制,也就是管理员所设下的限制; 

-m <内存大小>:指定可使用内存的上限,单位为KB; 

-n <文件数目>:指定同一时间最多可开启的文件数; 

-p <缓冲区大小>:
4000
指定管道缓冲区的大小,单位512字节; 

-s <堆叠大小>:指定堆叠的上限,单位为KB; 

-S:设定资源的弹性限制; 

-t :指定CPU使用时间的上限,单位为秒; 

-u <程序数目>:用户最多可开启的程序数目; 

-v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。

ulimit用法具体可参考: http://man.linuxde.net/ulimit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: