Assemblerprogrammierung

Post Reply
Message
Author
satyria
Posts: 9
Joined: 29. Oct 2001 11:54
Contact:

Assemblerprogrammierung

#1 Post by satyria »

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

Gruß Satyria

dwax
Posts: 65
Joined: 14. Jun 2001 15:30

Re: Assemblerprogrammierung

#2 Post by dwax »

sauber programmieren <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
segfault ist der fehler den man bekommt, wenn man versucht auf fremden speicher zuzugreifen ...

btw das hat nichts mit der programmiersprache zutun!

MfG Dirk

satyria
Posts: 9
Joined: 29. Oct 2001 11:54
Contact:

Re: Assemblerprogrammierung

#3 Post by satyria »

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.

Jochen

Re: Assemblerprogrammierung

#4 Post by Jochen »

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
Posts: 9
Joined: 29. Oct 2001 11:54
Contact:

Re: Assemblerprogrammierung

#5 Post by satyria »

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

Post Reply