OK, por la razón que sea, tengo problemas para causar un error de seg. Quiero producir uno para poder usar gdb
para ver cómo depurar uno. He probado ambos ejemplos del artículo the Wikipedia y tampoco funcionan.¿Por qué no puedo causar un error seg?
La primera de ellas:
char *s = "Hello World!";
*s = 'H';
Y el segundo ejemplo:
int main(void)
{
main();
}
EDIT: estoy usando Ubutnu 9.10 y g++
como mi compilador. ¿Alguien puede mostrarme algún código que garantice segfault?
El comportamiento del código anterior es indefinido, lo que significa que puede hacer cualquier cosa que quiere, incluso "parece que funciona", o causa demonios nasales. :-) –
try char * = reinterpret_cast (0x1234); p [0] = 'H'; –
Si quieres causar una falla seg, lo que podría enviar a algunos de los programas de C++ que escribí en la universidad :-) – ristonj