Autor Thema: Stack nach Exception  (Gelesen 4481 mal)

__OS_coder

  • Beiträge: 69
    • Profil anzeigen
Gespeichert
« am: 24. January 2006, 21:44 »
hiii...
Ich wollte mal fragen, ob mir jemand jetzt
mal genau sagen kann, was in welscher reihenfolge
beim auslösen einer Exception gepusht wird... ich hab
schon "überall" nachgesehen und "überall" steht was anderes

Danke

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 24. January 2006, 22:14 »
hehe, da werdem wir dir auch nicht helfen koennen, denn laut deiner aussage, werden wir mindestens einer deiner quellen widersprechen ;)

also es ist fuer jede exception unterschiedlich was auf den stack gelegt wird. das kommt ganz auf die art der exception an. bei manchen exceptions wird ein fehlercode gepusht, bei manchen nicht. ich glaube auch irgendeine debugexception laesst die ruecksprung adresse nicht auf die naechste instruktion, sondern auf die ausloesende instruktion zeigen. (mehr unterschiede gibt es afaik nicht.) welche exceptions jetzt genau was machen, sollte in den manuals von intel stehen. nach denen wuerde ich mich erstmal richten.
Dieser Text wird unter jedem Beitrag angezeigt.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #2 am: 26. January 2006, 11:46 »
kommt auch noch drauf an ob ein priviledge level change is oder net.
Schau einfach im Intel Manual Vol3, da steht _alles_ drin... :idea:
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

__OS_coder

  • Beiträge: 69
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 26. January 2006, 15:01 »
Dass bei manchen Exceptions Errorcodes und bei manchen nicht
gepusht werden, weiß ich auch... ich wollte eigentlisch wissen
in welcher Reihenfolge bei einer Exception die Register EIP, CS,
EFLAGS gepusht werden und ob noch mehr gepusht wird... Außer
ein eventueller Fehlercode

@bluecode: Kannste mir mal n direkten Hyperlink geben.. ich komm
mit der Intelsite nich klar.. die ham so'ne komische Navigation :D

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 26. January 2006, 15:19 »
Dieser Text wird unter jedem Beitrag angezeigt.

__OS_coder

  • Beiträge: 69
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 26. January 2006, 19:03 »
yooo danke das hilft... :D

Jetzt noch eine kleine Frage... Wie finde ich
heraus, ob ein Stack-Switch stattgefunden hat
und das SS und ESP Register zusätzlich gepusht
worden ist?? Ist das überhaupt möglich? :shock:

SSJ7Gohan

  • Beiträge: 398
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 26. January 2006, 19:11 »
Wenn das PL der gepushten EFLAGS anders ist als das aktuelle PL.

__OS_coder

  • Beiträge: 69
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 26. January 2006, 21:06 »
Wasn das PL?? Meinste das IOPL?? Oder das Parity Flag??  :?

SSJ7Gohan

  • Beiträge: 398
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 26. January 2006, 21:10 »
Ah ne, nicht von EFLAGS, sondern von CS. PL ist das Privileg Level (= der Ring :D)

__OS_coder

  • Beiträge: 69
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 26. January 2006, 21:24 »
Wollt schon sagen lol... ja das is mir dann bekannt... danke! ;)
Gut dann code isch das mal so zusammn :D

 

Einloggen