自定义核心转储

时间:2011-09-21 08:54:32

标签: segmentation-fault coredump

任何人都可以告诉我,是否有办法可以强制其中包含某些特定信息的段错误。强制段错误可以通过abort(),call来完成。但我需要一些东西 像abort(ptr),其中ptr是一个指针,告诉实际的内存,其中一些腐败开始。

感谢, Kapil Upadhayay

1 个答案:

答案 0 :(得分:0)

你的问题很不清楚。核心转储包含整个过程的内存快照,因此已经包含您希望它包含的信息。

如果您想更轻松地查找信息,可以引入全局信息,例如

void *a_corrupt_ptr;  // global

void some_func() {
...

  if (the_pointer_has_been_corrupted(ptr)) {
    a_corrupt_ptr  = ptr;
    abort();
  }

然后检查调试器中的a_corrupt_ptr

或者您可以在致电abort()之前打印该值。