Xppfatal

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

Xppfatal

Beitrag von stevie »

Was bedeutet eigentlich das hier?
Error Codes: EH: 900 Sub: 0(0) OS: 0 XPP: 0
Call Stack of Thread 9 (1052):
@MYPROGRESS@I@ANZEIGE(262)
MESSWDRUCK(1012)
DRUCK(901)
DAYAUSW(239)

Eine Xppfatal.log
Was soll insbesondere dieses @ heißen?
Gerd König
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 193
Registriert: Fr, 09. Jun 2006 7:52
Wohnort: Nähe Sömmerda

Beitrag von Gerd König »

Hallo stevie,

XPPFatal sagt aus, daß der Fehler von XBase++ nicht gehandelt werden kann, und somit zum sofortigen Abbruch führt.

Die vermutliche Fehlerquelle befindet sich in der obersten Zeile des Callstacks

Code: Alles auswählen

@MYPROGRESS@I@ANZEIGE(262)
@ am Anfang bedeutet,daß es sich um ein Objekt handelt (Klasse MYPROGRESS).
@I@ ist ein Trenner und entspricht prinzipiell einem Doppelpunkt, hier zwischen dem Klassennamen und der Methode

@I@ANZEIGE(262) will sagen, daß der Fehler in der Methode ANZEIGE in der Programmzeile 262 aufgetreten ist.

Gruß
Gerd
stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

Beitrag von stevie »

Und dieses hier?
SYS Thread-ID: 448
Die 448 kommt in der gesamten Log nicht noch einmal vor. Bei anderen hatte ich gelesen, dass das die Fehlerstelle sei. In diesem Fall hätte aber irgendwo noch
myfunc(448)
stehen müssen, was aber nicht der Fall ist.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Stevie,
die Thread-ID hat nichts mit einer Zeilennummer zu tun!
Der Thread hat die ID 448.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Gerd König
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 193
Registriert: Fr, 09. Jun 2006 7:52
Wohnort: Nähe Sömmerda

Beitrag von Gerd König »

Thread-ID ist etwas ganz anderes.

Windows ist multithreading
XBase ist multithreading

Jeder Thread ist durch eine ID gekennzeichnet, wobei die Windows-Threads (SYS Thread) nicht unbedingt mit den Xbase-Threads konform sein müssen!

Nur die XBase-Threads haben auch einen eigenen XBase-Callstack.
Somit kann auch nur nur der Xbase-Programmteil angezeigt werden, wenn ein Thread dazu existiert.

Da jedoch ein Xbase-Thread mehrere Windows-Threads auslösen kann, die "irgendwann" laufen (Ereignisgesteuertes Betriebssystem!!!), kann man kaum eine vernünftige Aussage treffen (Es gibt natürlich auch Windows-Gurus und dann noch B.G.)

Gerd
Antworten