【发布时间】:2011-01-03 22:58:29
【问题描述】:
好的,无论出于何种原因,我都无法导致段错误。我想制作一个,以便我可以使用gdb 来查看如何调试一个。我已经尝试了the Wikipedia 文章中的两个示例,但都不起作用。
第一个:
char *s = "Hello World!";
*s = 'H';
第二个例子:
int main(void)
{
main();
}
编辑:我使用 Ubutnu 9.10 和 g++ 作为我的编译器。谁能给我看一些保证段错误的代码?
【问题讨论】:
-
上述代码的行为是未定义的,这意味着它可以为所欲为,包括“似乎工作”,或者引起鼻恶魔。 :-)
-
尝试 char* = reinterpret_cast
(0x1234); p[0] = 'H'; -
如果你想引起段错误,我可以把我在大学写的一些 C++ 程序发给你:-)
-
@tster:严格来说,没有答案可以保证一个段错误。那将定义未定义的行为。
-
你知道我有多少次希望遇到你的问题吗? B-)