Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Assemblerprogrammierung

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
satyria



Anmeldungsdatum: 29.10.2001
Beiträge: 9

BeitragVerfasst am: 05. Dez 2001 9:03   Titel: Assemblerprogrammierung

Wie verhindere ich am besten ein "Segmentation fault" unter GAS.

Gruß Satyria
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

dwax



Anmeldungsdatum: 14.06.2001
Beiträge: 65

BeitragVerfasst am: 06. Dez 2001 13:58   Titel: Re: Assemblerprogrammierung

sauber programmieren
segfault ist der fehler den man bekommt, wenn man versucht auf fremden speicher zuzugreifen ...

btw das hat nichts mit der programmiersprache zutun!

MfG Dirk
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden

satyria



Anmeldungsdatum: 29.10.2001
Beiträge: 9

BeitragVerfasst am: 06. Dez 2001 15:41   Titel: Re: Assemblerprogrammierung

Ich bin mir nicht bewust in einen fremden Speicher geschrieben zu haben. Der Fehler tritt nach einem oder beim jmp Befehl auf. Laut Debugger funktionierts soweit.
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Jochen
Gast





BeitragVerfasst am: 06. Dez 2001 17:03   Titel: Re: Assemblerprogrammierung

Als Assembler-Laie sage ich dazu: "Zugreifen" heisst nicht "schreiben". Wenn Du mittels jmp an eine Adresse springen willst, die Deinem Prozess nicht zugewiesen ist (oder nur zum data-Segment gehört und nicht zum text?), wird der Prozess aufgrund des illegalen Zugriffs abgeschossen.

Jochen
 

satyria



Anmeldungsdatum: 29.10.2001
Beiträge: 9

BeitragVerfasst am: 07. Dez 2001 9:22   Titel: Re: Assemblerprogrammierung

Noch ein kleiner zusatz!

Nach langem überlegen: Kann es auch sein das eine Externe Lib diesen Fehler verursacht? Mein Programm reserviert sich mit .long Speicher in dem eine EXTERNE Lib Daten speichern soll! Wenn das dann so ist, wie umgehe ich diesen Fehler?

Wenn ich im Debugger versuche im einzelschritt den Fehler (und Ursache) zu finden, erscheint kein Fehler und das Programm läuft so wie ich es auch haben möchte. Wenn der Debugger das Programm in einem Rutsch durchlaufen soll, bringt er den Fehler. Mergwürdig oder erklärlich?

Gruß Satyria
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy