段错误的最小C / C ++程序?

Minimal C/C++ program that segfaults?

本问题已经有最佳答案,请猛点这里访问。

我正在尝试设置服务器处理核心转储的方式。为了测试它,我需要一个总是能区分错误的程序。

是否有一个简单的示例程序总是分段错误?


main() { *(int *)0xdeadbeef = 37; }应该这样做。


试试这个:

1
2
long* ptr = 0x0; //-- you can also use other random values and likely you will segfault
printf("%f", *ptr);


main;

是可移植的,5个硬盘中有SegFault。


你可以试试:

1
2
3
4
main() {
char *p = NULL;
char c = *p;
}


这应该会死:

1
2
3
4
5
int main() {
    char *die;
    printf("%d",(int *)die * 200);
    return 0;
}

编辑:

1
2
3
4
5
6
7
8
9
int main() {
    char *die;
    int killer = 200;
    while(1) {
       printf("%d",(int *)die * killer);
       killer = killer * killer;
    }
    return 0;
}