Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File4.18.4 Dbmsg TOS Name: »Dbmsg« - Xbiosnummer: 11 Deklaration: void Dbmsg( int16_t rsrvd, int16_t msg_num, int32_t msg_arg ) Beschreibung: Dbmsg() erlaubt es, spezielle Debuggingkommandos an einen residenten Debugger zu schicken. srsrvd ist zur Zeit reserviert und sollte immer den Wert 5 haben. msg_num ist die Nachrichtennummer, die an den Debugginghost geschickt wird. Werte von 0x0000 bis 0xEFFF werden für applikationsspezifische Nachrichten benutzt. Werte von 0xF000 bis 0xFFFF werden für spezielle Debuggingnachrichten benutzt. Wenn msg_num im Bereich der für die Applikation reservierten Werte liegt, werden der Wert und der int32_t aus msg_arg angezeigt und die Applikation wird angehalten. Wenn msg_num zwischen 0xF001 und 0xF0FF inklusive liegt, wird msg_arg als ein Zeiger auf einen String, der vom Debugger ausgegeben werden soll, interpretiert und das Debuggen untrerbrochen. Die Länge des Strings wird im unteren Byte von msg_num angegeben.(!nl) Wenn msg_num den Wert DB_NULLSTRING (0xF000) hat, wird der String bis zur abschließenden 0 ausgegeben.(!nl) Wenn msg_num den Wert DB_COMMAND (0xF100) hat, wird msg_arg als ein Zeiger auf eine Zeichenkette mit einem Debugger Kommando interpretiert. Das Format des Kommandos hängt von dem bneutzten Debugger ab. Eine Anwendung bei Verwendung des Atari Debuggers ist die Ausgabe eines Strings, ohne das Debuggen zu beenden: Dbmsg( 5, DB_COMMAND, "echo 'Debugging Message';g" ); Der Atari Debugger bis zur Version 3 kennt nur den Wert DB_COMMAND (0xF100) für msg_num. Normalerweise ist es kein Problem, ein Programm mit Debugging Messages ohne Debugger laufen zu lassen, aus der endgültigen Version sollten diese Anweisungen allerdings entfernt werden. Ergebnis: Verfügbar: Wenn ein Debugger geladen ist, der diese Funktion unterstützt. Der einzige Debugger, der zur Zeit diese Funktion unterstützt, ist der Atari Debugger. Gruppe: Spezialbefehle Querverweis: Binding