gdb调试C/C++程序


用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 <缓冲区大小>:指定管道缓冲区的大小,单位512字节; 

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

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

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

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

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

ulimit用法具体可参考: http://man.linuxde.net/ulimit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值