OK per qualsiasi motivo ho problemi a causare un errore di seg. Voglio produrne uno in modo da poter usare gdb
per vedere come eseguire il debug di uno. Ho provato entrambi gli esempi dall'articolo the Wikipedia ma nessuno dei due ha funzionato.Perché non posso causare un errore di seg?
Il primo:
char *s = "Hello World!";
*s = 'H';
E il secondo esempio:
int main(void)
{
main();
}
EDIT: sto usando Ubutnu 9.10 e g++
come il mio compilatore. Qualcuno può mostrarmi un codice che è garantito per segfault?
Il comportamento del codice di cui sopra non è definito, il che significa che può fare qualsiasi cosa vuole, incluso "sembrare lavorare", o causare demoni nasali. :-) –
try char * = reinterpret_cast (0x1234); p [0] = 'H'; –
Se vuoi causare un errore di seg, potrei mandarti alcuni dei programmi C++ che ho scritto al college :-) – ristonj