Warum kann ich nicht die Ursache für die seg-fault?

OK aus welchem Grund auch immer ich habe Probleme, verursacht einen seg fault. Ich will zu produzieren, so dass ich verwenden können gdb zu sehen, wie zum Debuggen ein. Ich habe versucht die beiden Beispiele aus der Wikipedia Artikel doch weder die Arbeit.

Die erste:

char *s = "Hello World!";
*s = 'H';

Und das zweite Beispiel:

int main(void) 
{
    main();
}

EDIT: ich bin mit Ubutnu 9.10 und g++ wie mein compiler. Kann jemand mir zeigen einige code, der garantiert, dass segfault?

  • Das Verhalten der obige code ist undefiniert, was bedeutet, es kann nicht alles, was es will, einschließlich der "scheinbaren arbeiten", oder verursachen Sie nasale Dämonen. 🙂
  • versuchen char* = reinterpret_cast<char*>(0x1234); p[0] = 'H';
  • Wenn Sie möchten, zu einem seg-fault, ich könnte Ihnen einige C++ - Programme, die ich schrieb in der Hochschule 🙂
  • Kompilieren Sie mit dem Befehl aus dem Artikel segfaults bei mir (gcc segfault.c -g -o segfault)
  • Viele der Antworten garantieren einen segfault. Haben Sie Probleme mit Ihnen?
  • Streng genommen, keine Antwort garantiert einen segfault. Das wäre die Definition nicht definiertes Verhalten.
  • Wissen Sie, WIE viele Male habe ich WÜNSCHTE, ich hätte dein problem? B-)

InformationsquelleAutor Bob Dylan | 2010-01-11
Schreibe einen Kommentar