Core Dump调试和多线程调试

本文介绍了Linux环境下调试时遇到的问题及解决方法,包括使用ulimit命令控制资源限制,如进程数、文件数等,并讨论了如何生成和分析Core Dump文件以定位程序异常。此外,还讲解了多线程调试,如利用gdb进行调试和多进程调试的基本步骤。
摘要由CSDN通过智能技术生成

在进行调试的时候我们遇到问题有很多,其实涉及到功能逻辑方面的,还有就是由于一些细节导致的段错误--Segmentation fault。在这里就是对我们在开发过程中对在测试和联调过程中遇到问题的解决技巧或者方法方法进行了总结,很多大家都已经很熟悉了。

首先我们要认识一个命令:

 ulimit 命令说明

功能说明:控制shell程序的资源。

      法:ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆叠大小>][-t <CP时间>][-u <程序数目>][-v <虚拟内存大小>]

   补充说明:ulimitshell内建指令,可用来控制shell执行程序的资源。

     数:

       -a  显示目前资源限制的设定(a=all)。

       -c <core文件上限设定core文件的最大值,单位为区块。

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

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

       -S  设定资源的弹性限制。

       -u <程序数目用户最多可开启的程序数目。

    ulimit -a 用来显示当前的各种用户进程限制。

ulimit –c 可查看core文件生成没有的开关,若结果为0,表示关闭了此功能,不会生成core文件

    Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个:

    ulimit -u 10000

ulimit -n xx 修改每个进程可打开的文件数,缺省值是 1024

    ulimit -n 4096 将每个进程可以打开的文件数目加大到4096,缺省为1024

    其他建议设置成无限制(unlimited)的一些重要设置是:

        数据段长度:ulimit -d unlimited

        最大内存大小:ulimit -m unlimited

        堆栈大小:ulimit -s unlimited

        CPU 时间:ulimit -t unlimited

        虚拟内存:ulimit -v unlimited

   有时需要调整ulimit

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值