Tim*_*Tim 18 c linux gdb coredump
我正在尝试调试由我的C程序引起的分段错误gdb.运行程序时不会自动生成核心转储文件,我必须运行该命令
ulimit -c unlimited
Run Code Online (Sandbox Code Playgroud)
用于在下次运行时生成的核心文件.
为什么不会自动生成核心转储文件,为什么ulimit每次都要运行该命令以在下一次运行程序时生成核心文件?
我使用的操作系统是Ubuntu 10.10.
Mic*_*dis 19
您需要放置命令
ulimit -c unlimited
Run Code Online (Sandbox Code Playgroud)
在您的环境设置中.
如果您使用bash作为shell,则需要将上述命令放在〜/ .bashrc中
Han*_*olo 15
您可能还想尝试编辑/etc/security/limits.conf文件而不是添加ulimit -c unlimited到~/.bashrc.
这limits.conf是在大多数Linux发行版中指定核心转储详细信息的"正确"位置.
那是因为默认情况下,您的发行版将核心文件大小限制为0个块.ulimit您提到的命令会将该限制增加到无穷大.
我不知道Ubuntu,但大多数发行版都有一个文件/ etc/limits,系统默认为资源限制.
| 归档时间: |
|
| 查看次数: |
23650 次 |
| 最近记录: |