Home Home Architektur Gandhi Paral Privat Atari Gandhi Paral Gandhi Paral Pfadfinder Site Gandhi
Gandhi? Was ist das?

Manchmal stürzt ein Programm ab und man weiss, warum. Oft ist dies jedoch nicht so einfach. Das TOS gibt bei einem Absturz Bomben auf den Bildschirm aus, deren Anzahl von dem aufgetretenen Fehler (exception) abhängt.

Nun kann man zwar hergehen und die Bomben zählen und dann Rückschlüsse auf den Fehler schliessen. Glücklich macht das nicht. Gandhi kann zwar keine Fehler vermeiden oder beheben, es kann dafür:

alle TOS-Versionen:
  • Klartextausgabe der Exception
  • Ausgabe der CPU/FPU/PMMU-Register
  • kleines Disassembling an der Stelle, die den Fehler auslöste
  • Auszug der Speicherbereiche, auf die die Adressregister der CPU zeigen
  • abgestürztes Programm sauber beenden

MiNT (teilweise auch MagiC):
  • residenter Teil ist ein Daemon, d.h. er kann sich wieder komplett aus den Vektoren und dem Speicher entfernen
  • Angabe des abgestürzten Programmes
  • mit der evtl. parallel laufenden Gandhi-Applikation kommunizieren (per SharedMemory/Pipes)
  • MemoryProtection sicher
  • die Klartextmeldungen landen in der Datei u:\shm\gandhi.shm und bleiben dort bis zur nächsten Exception die von Gandhi abgefangen wird erhalten.
Sicher, glücklich macht auch das nicht. Manchmal kann es aber helfen. :-)

Gandhi besteht eigentlich aus zwei Teilen. Zum einen aus einem residenten Programm (unter MiNT als Daemon) und einem Programm zum Parameter einstellen und Ausgabe der Excpetiondaten.

Gandhi benutzt TrueMagic'97, zu finden auf der Homepage von Peter Hellinger, oder hier als ZIP.

Derzeit wird Gandhi nicht weiterentwickelt. Wenn irgendjemand aber ein paar gute Einfälle hat, bzw. irgendetwas dringend wünscht, an mir soll es nicht scheitern - wenn es meine Programmierkünste nicht übersteigt.