小编Dan*_*ell的帖子

在 Linux 中安装的 NTFS 分区上运行时,为什么我的程序的核心转储始终为零字节?

我正在尝试从我正在编写的代码中获取可用的核心转储。我的源位于我在 Windows 和 Linux 操作系统之间共享的 NTFS 分区上。我正在 Linux 下进行开发,并ulimit -c unlimited在我的 bash shell 中进行了设置。当我在 NTFS 分区上执行我的项目目录中的代码,并故意导致 SIGSEGV 或 SIGABRT 时,系统会写入一个零字节的核心转储文件。

如果我在我的主目录(一个 ext4 分区)中执行二进制文件,核心转储生成正常。我查看了 core手册页,其中列出了不生成核心转储文件的各种情况。但是,我认为这不是权限问题,因为该分区上的所有文件和目录都具有完全权限 ( chmod 777)。

任何帮助或想法表示赞赏。

linux crash bash coredump crash-dumps

5
推荐指数
1
解决办法
1838
查看次数

在IOStreams库中使用ignore(numeric_limits <streamsize> :: max())是否处理​​任意大量的流?

在C++标准(第27.6.1.3节\ 24)中,对于ignore()IOStreams库中的istream 函数,它暗示如果为'n'提供参数numeric_limits::max(),它将继续忽略字符,直到找到分隔符,甚至超出了streamize的实际最大值(即'n'参数被解释为无限).

对于gcc实现,这确实看起来是如何 ignore()实现的,但是我仍然不清楚这是特定于实现还是由标准强制执行.知道这一点的人是否可以确认标准兼容的iostreams库可以保证这一点?

c++ standards iostream

3
推荐指数
1
解决办法
5848
查看次数

标签 统计

bash ×1

c++ ×1

coredump ×1

crash ×1

crash-dumps ×1

iostream ×1

linux ×1

standards ×1