![]() |
Was ist denn ein "Runtime error 218" ?
Und Plong:
Zitat:
Aber was will mir Vischda mit dem Fehler sagen ? |
Re: Was ist denn ein "Runtime error 218" ?
Zitat:
"Schmeiß schon den Rechner aus dem Fenter, und kauf dir einen mit Windows 7" :lol: [/Spaß] |
Re: Was ist denn ein "Runtime error 218" ?
Haha.
Wenn du mir 'n Scheck schickst gern. :mrgreen: |
Re: Was ist denn ein "Runtime error 218" ?
218 = rePrivInstruction = STATUS_PRIVILEGED_INSTRUCTION = EPrivilege
da wirst du wohl irgendwas falsch machen? Zitat:
|
Re: Was ist denn ein "Runtime error 218" ?
Zitat:
Nehme ich in das Projekt die SysUtils auf ist alles in Butter. Lass ich sie weg, knallt es (manch mal). Diesem Fehler debugge ich schon seit vier Stunden hinter her. Langsam werde ich :freak: . |
Re: Was ist denn ein "Runtime error 218" ?
Eine privilegierte Instruktion ist zum Beispiel, wenn man versucht unter Windows NT auf Hardware direkt zu zugreifen. machst du eventuell etwas ähnliches?
|
Re: Was ist denn ein "Runtime error 218" ?
Eigentlich nichts der gleichen.
Einfach einen INet-Stream per Bass.dll abspielen. |
Re: Was ist denn ein "Runtime error 218" ?
Passiert auch gerne als Folgefehler wenn der Stack zerschossen ist oder ähnliches. Dann wird irgendwo im Speicher Code ausgeführt der eigentlich gar kein Code ist sondern "irgendwas". Und da sind dann zufälligerweise auch mal Werte dabei die Opcodes entsprechen die halt in Ring3 nicht erlaubt sind. Z.B. Sperren von Interrupts. Mit klassischem Debugging kaum zu finden weil der Stack irgendwann kaputtgehen kann, der Crash dann aber an einer ganz anderen Stelle irgendwann viel später vollkommen unmotiviert erfolgen kann. Häufige Auslöser sind nicht initialisierte Pointer und Buffer Overflows.
|
Re: Was ist denn ein "Runtime error 218" ?
Zitat:
Ohne Exception-Handler haut es dir halt Runtime-Errors um die Ohren. Stark verkürzt sieht das so aus:
Delphi-Quellcode:
Wenn du nun verbuggten Code in irgendeinem Finalization-Abschnitt hast, kann es passieren,
unit SysUtils;
.... initialization ... InitExceptions; ... finalization ... DoneExceptions; end. dass dieser Code nach DoneExceptions ausgeführt wird - und dann gibt es auch Runtime Fehler anstelle von Exceptions. PS: EPrivilege ist kein Problem mit fehlenden Rechten. Delphi ist gar nicht in der Lage privilegierte Befehle zu erzeugen. Es bedeutet, dass das Programm irgendwo ins Nirwana gesprungen ist und dort zufällig auf eine priv. X86-Anweisung gestosen ist oder der Program Counter verweist auf eine ungültige Seite. |
Re: Was ist denn ein "Runtime error 218" ?
Zitat:
Delphi-Quellcode:
:wink:
procedure PrivilegierterBefehl;
asm cli; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz