小编Joe*_*Joe的帖子

分段错误(核心转储) - 到哪里?它是什么?为什么?

当 Linux 出现段错误时,Segmentation fault (core dumped)会在终端(如果有)打印错误信息,并终止程序。作为 C/C++ 开发人员,这种情况经常发生在我身上,我通常会忽略它并转到gdb,重新创建我之前的操作以再次触发无效的内存引用。相反,我想我也许可以改用这个“核心”,因为一直运行gdb是相当乏味的,而且我不能总是重新创建分段错误。

我的问题是三个:

  • 这个难以捉摸的“核心”在哪里倾倒?
  • 它包含什么?
  • 我可以用它做什么?

segmentation-fault core-dump

32
推荐指数
3
解决办法
10万
查看次数

Linux 如何区分真实的和不存在的(例如:设备)文件?

这是一个相当低级的问题,我知道这可能不是最好的提问地点。但是,它似乎比任何其他 SE 网站都更合适,所以就这样吧。

我知道在 Linux 文件系统上,确实存在一些文件,例如:/usr/bin/bashis one that exists。然而,(据我所知),有的还没有实际存在本身和更虚拟的文件,如:/dev/sda/proc/cpuinfo等我的问题是(它们是两个,而是要独立的问题也密切相关):

  • 当发出读取命令(或类似命令)时,Linux 内核如何确定这些文件是否真实(并因此从磁盘读取它们)?
  • 如果文件不是真实的:例如,读取自/dev/random将返回随机数据,读取自/dev/null将返回EOF. 它如何确定要从该虚拟文件中读取哪些数据(以及因此当/如果数据也写入虚拟文件时要做什么) - 是否有某种带有指向适合每个文件的单独读/写命令的指针的映射,甚至是虚拟目录本身?因此,一个条目/dev/null可以简单地返回一个EOF.

linux filesystems devices

28
推荐指数
4
解决办法
3066
查看次数