为什么我们在运行时没有提供有关Segmentation Fault的更多信息?

iha*_*dea 0 c++ segmentation-fault

每当我收到Segmentation Fault错误时,我都知道我正在访问"不属于我"的内存.

在一些非显而易见的情况下,我必须依赖调试工具,例如探查器(例如Valgrind).

不幸的是,在运行时,我只收到以下错误消息:

分段故障

没有别的.我的问题是:


为什么程序在运行时没有提供有关错误的更多信息?


Ps:这不是关于为什么发生分段错误错误的问题:我理解为什么.

The*_*ist 7

不,你不能,因为你的程序没有报告段错误,而是你的操作系统在CPU级别接收陷阱(这是一种例外).此时,CPU认为您的程序无法恢复,并告诉操作系统将其停止.你的程序除了关机之外什么也做不了,因为CPU给了那个订单.

  • 可以配置一个*nix系统来提供核心转储,这对于gdb来说非常有用/sf/ask/1257581/一个过程,得到-A-分割故障 (2认同)