谁能告诉我,如果有一种方法,我们可以强制段故障与某些特定的信息在它。强制段错误可以通过abort()调用来完成。但我需要一些东西比如abort(ptr),其中ptr是一个指针,它告诉实际内存从哪里开始损坏。
谢谢,Kapil Upadhayay
你的问题很不清楚。核心转储包含整个进程的内存快照,因此它已经包含了您希望它包含的信息。
如果你想更容易找到这些信息,你可以引入一个全局变量,例如
void *a_corrupt_ptr; // global
void some_func() {
...
if (the_pointer_has_been_corrupted(ptr)) {
a_corrupt_ptr = ptr;
abort();
}
然后在调试器中检查a_corrupt_ptr
。
或者您可以在调用abort()
之前直接打印该值