|
EXECUTE Funktion NTVDM crash
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Nachdem im OA4-Handbuch nichts dazu vermerkt ist, möchte ich an dieser Stelle auf ein kleines Problem in OA im Zusammenhang mit der EXECUTE-Funktion hinweisen. Übergibt man einen String mit mehr als 126 Zeichen Länge an die Execute-Funktion, wie z.B. in folgendem Beispiel, so erhält man einen NTVDM-Crash (meist mit Invalid Opcode): Code:
EXECUTE "echo This is a very very long environment string that will exceed the DOS environment string length and therefore crash NTVDM because it exceeds the 126 char limit"OA prüft das allerdings scheinbar nicht ab, bevor es den Aufruf ans DOS weitergibt (vermutlich via INT 2E) und daher schepperts dann. Normalerweise patche ich Fehler ja, aber in diesem Fall ist es kein Fehler und es ist ausreichend, wenn man als Benutzer über die Limitierung bescheid weiß und entsprechend richtig programmiert. Möchte man mehr Daten an ein Programm übergeben, so kann man z.B. die Daten in einer Datei schreiben und dann eine externe Batch-Datei aufrufen, welche die Eingangsdaten verarbeitet. Lg. |
|
Ich schreibe noch den Fehler der NTVDM unter Windows 8/8.1/10 dazu, nachdem offenbar die Fehleradresse auch bei anderen an gleicher Stelle zu finden ist; vielleicht hilft es ja.
The NTVDM CPU has encountered an illegal instruction. CS:95e8 IP:9e6c OP:63 6d 64 20 2f |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr. |
Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.