未生成核心文件

未生成核心文件

我最近通过 Ubuntu Windows 应用程序进入了 Linux。我需要查看由一个程序生成的核心文件,该程序对 ctf 进行分段错误,但是没有生成核心文件。输出示例:

...
Segmentation fault (core dumped)
root@TroysComputer:/mnt/c/Users/Troy Neubauer/Documents/CTF#

当前目录下没有core文件(也就是程序运行的同一个目录)我对所有shell的硬限制和软限制都是无限的:

root@TroysComputer:/mnt/c/Users/Troy Neubauer/Documents/CTF# ulimit -S -c
unlimited
root@TroysComputer:/mnt/c/Users/Troy Neubauer/Documents/CTF# ulimit -H -c
unlimited
root@TroysComputer:/mnt/c/Users/Troy Neubauer/Documents/CTF#

我通过 .bashrc 文件设置它,以便它适用于所有终端。

$HOME/.bashrc:

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi

alias ctf='cd /mnt/c/Users/Troy\ Neubauer/Documents/CTF'
ctf
ulimit -H -c unlimited
ulimit -S -c unlimited

使用 prlimit 我在进程运行时但出现段错误之前检查设置:

root@TroysComputer:/mnt/c/Users/Troy Neubauer/Documents/CTF# prlimit --pid 549
RESOURCE   DESCRIPTION                             SOFT      HARD UNITS
AS         address space limit                unlimited unlimited bytes
CORE       max core file size                 unlimited unlimited bytes
...

并且硬限制和软限制都为无限制。但是如果我使用:

root@TroysComputer:/mnt/c/Users/Troy Neubauer/Documents/CTF# cat /proc/549/limits
Limit                     Soft Limit           Hard Limit           Units
...
Max core file size        0                    unlimited            bytes
...

软限制返回为 0。为什么这与 prlimit 报告的不同?软限制是否需要非零才能生成限制文件?

我在文件 /etc/ssh/sshd_config 中有“UsePAM yes”,/proc/sys/kernel/core_pattern 不存在且 /var/lib/systemd/coredump/ 为空

root@TroysComputer:/mnt/c/Users/Troy Neubauer/Documents/CTF# ls /var/lib/systemd/coredump/
root@TroysComputer:/mnt/c/Users/Troy Neubauer/Documents/CTF#

相关内容