Segmentation fault [core dumped]

  • du schreibst in / liest von einem nicht zuläßigen speicherbereich
    irgendwo hast du einen wurschl mit pointern.
    häufige fehlerquelle ist das arbeiten mit char - pointern zwecks
    "string verarbeitung"
    tip: alle pointer immer initialisieren (mit NULL oder gültigen wert)

    kleine beispiele, die grantierte probleme verursachen:

    char buf[10];
    strcat(buf, "test");
    oder

    char buf[10];
    strcpy(buf, "fgsdfgfdsgfdsgfd");

    oder

    char *mytext = "";
    strcat(mytext, othertext);

    usw.

    Informatik @ TU Wien (1998 - 2005)

  • es koennte aber auch etwas sein, wie folgt:

    char *line;
    while (fgets (line, 100, fp) != NULL) { ... }

    die funktion fgets() reserviert keinen speicher und damit werden die daten irgendwo im speicher abgelegt (dort, wo line zufaellig hinzeigt)

    gruesse

    tom

    There are at least three opinions always: Yours, mine, and the truth.
    :coolsmile

  • hi!

    ein tool das hierbei oft weiterhilft ist strace:
    listet dir system calls deines programmes auf
    strace <program_name> eingeben
    in Manpages findest du eine genaue Beschreibung

    gn8,
    Poidl

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!