Debuggen eines eventgesteuerten Systems
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Debuggen eines eventgesteuerten Systems
Hi,
ich kriege gerade mal wieder einen Affen. Habe ich wieder irgendwas übersehen, oder ist es nahezu unmöglich ein eventgesteuertes Programm zu debuggen? Jedesmal, wenn ich bei einem STOP den Bildschirm in den Einzelschrittmodus zum Debugger wechsel, geschieht doch ein Ereignis und sei es nur, dass es einen KillInputFocus gibt für ein SLE oder so.
Wie will man denn da vernünftig testen....
Ich bin gerade dabei SLEPic durchzutesten um überhaupt mal zu verstehen, was denn da so alles passiert.
ich kriege gerade mal wieder einen Affen. Habe ich wieder irgendwas übersehen, oder ist es nahezu unmöglich ein eventgesteuertes Programm zu debuggen? Jedesmal, wenn ich bei einem STOP den Bildschirm in den Einzelschrittmodus zum Debugger wechsel, geschieht doch ein Ereignis und sei es nur, dass es einen KillInputFocus gibt für ein SLE oder so.
Wie will man denn da vernünftig testen....
Ich bin gerade dabei SLEPic durchzutesten um überhaupt mal zu verstehen, was denn da so alles passiert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi,
verstehe ich jetzt nicht. Ich meine nur, dass egal was ich mache, ich jedesmal im Programm einen Event auslöse und somit gar nicht richtig sehen kann was passiert, oder meinst Du das etwa?
verstehe ich jetzt nicht. Ich meine nur, dass egal was ich mache, ich jedesmal im Programm einen Event auslöse und somit gar nicht richtig sehen kann was passiert, oder meinst Du das etwa?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Manfred,
das ist genau der Grund, warum ich in solchen Situationen immer die Inhalte der Variablen und sonstige Angaben, die mich interessieren, in eine Textdatei schreibe und diese dann auswerte.
Anders wird es wohl (zumindest im DOS-Debugger, den VX nutze ich noch nicht) nicht gehen!
Viele Grüße,
Martin
das ist genau der Grund, warum ich in solchen Situationen immer die Inhalte der Variablen und sonstige Angaben, die mich interessieren, in eine Textdatei schreibe und diese dann auswerte.
Anders wird es wohl (zumindest im DOS-Debugger, den VX nutze ich noch nicht) nicht gehen!
Viele Grüße,
Martin
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.
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi Martin,
ich möchte sehen, was im allgemeinen passiert. Es ist ja alles nachprogrammiert in SLEPic. Allerdings sind da ein paar Dinge, die wohl nicht so richtig klappen und das möchte ich gerne ausprobieren, welchen Weg die Dinge da gehen.
ich möchte sehen, was im allgemeinen passiert. Es ist ja alles nachprogrammiert in SLEPic. Allerdings sind da ein paar Dinge, die wohl nicht so richtig klappen und das möchte ich gerne ausprobieren, welchen Weg die Dinge da gehen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Manfred,
na eben - darum musst Du an den entsprechenden Stellen halt einfach was in eine Textdatei schreiben und dann kannst Du danach auswerten, was in welcher Reihenfolge ausgeführt wurde.
Viele Grüße,
Martin
na eben - darum musst Du an den entsprechenden Stellen halt einfach was in eine Textdatei schreiben und dann kannst Du danach auswerten, was in welcher Reihenfolge ausgeführt wurde.
Viele Grüße,
Martin
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.
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hm,
evtl. drücke ich mich wieder falsch aus.
Also, mich würde interessieren, warum SLEPIc z.B. bei Picture Angaben die ENFT Taste nicht richtig verarbeitet. Weiterhin würde mich interesseiern, was generell passiert, wenn die Picture Maske angegeben wird. Leider geht das nicht, weil ich bei jedem Tastendruck in die Keyboard Methode gelange, dann aber von dort aus gleich in das nächste SLE. Egal was ich mache, ich kann nicht den Einzelschrittmodus machen. Das Teil hüpft hin und her, weil es halt alles EVENTS sind, die da durchknallen.
Naja, ich werde mir das Morgen nochmal in Ruhe und ausgeschlafen ansehen.
evtl. drücke ich mich wieder falsch aus.
Also, mich würde interessieren, warum SLEPIc z.B. bei Picture Angaben die ENFT Taste nicht richtig verarbeitet. Weiterhin würde mich interesseiern, was generell passiert, wenn die Picture Maske angegeben wird. Leider geht das nicht, weil ich bei jedem Tastendruck in die Keyboard Methode gelange, dann aber von dort aus gleich in das nächste SLE. Egal was ich mache, ich kann nicht den Einzelschrittmodus machen. Das Teil hüpft hin und her, weil es halt alles EVENTS sind, die da durchknallen.
Naja, ich werde mir das Morgen nochmal in Ruhe und ausgeschlafen ansehen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
NA EBEN!
Darum musst Du in der :keyhandler-Methode einzelne Ausgaben in Deine Debug-Textdatei einbauen, damit Du im Nachhinein weißt, wo was gefeuert hat.
Viele Grüße,
Maritn
Darum musst Du in der :keyhandler-Methode einzelne Ausgaben in Deine Debug-Textdatei einbauen, damit Du im Nachhinein weißt, wo was gefeuert hat.
Viele Grüße,
Maritn
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.
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
aha,
na da muß ich wohl noch ein wenig umdenken.
Danke.
na da muß ich wohl noch ein wenig umdenken.
Danke.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
ich habe keine Ahnung, wie man die eventspy.dll einbindet, bzw. wie man dann das Fenster erhält, wie im Beispiel....
Mit anderen Worten: Nix neues.
Mit anderen Worten: Nix neues.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
hi,
gewünscht. Also doch besser die "original" LIB/DLL aus dem ZIP File
verwenden.
füge an den Anfang deiner Xbase++ Application
ein.
Vor deiner Eventloop kommt nun
und die Function MyFunc könnte so aussehen :
In der Eventloop musst du nun
nutzen.
zunächst einmal Eventspy "auspacken"Manfred hat geschrieben: ich habe keine Ahnung, wie man die eventspy.dll einbindet,
bzw. wie man dann das Fenster erhält, wie im Beispiel....
hm ... irgendwie funktioniert die daraus gewonnene LIB/DLL nicht so wieund mit "MakeDLL.BAT" die DLL
und LIB erstellen und in das aktuelle Alaska Verzeichniss kopieren.
Wenn er die LIB nicht erstellen will und er wegen fehlender *.DEF
"meckert" dann die *.BAT erweitern :Code: Alles auswählen
Xpp ... /dll ... Xpp ... /dll ... [color=red]XPPFILT eventspy.OBJ /F:eventspy.DEF[/color] aimplib eventspy.def
gewünscht. Also doch besser die "original" LIB/DLL aus dem ZIP File
verwenden.
füge an den Anfang deiner Xbase++ Application
Code: Alles auswählen
#PRAGMA LIBRARY( "EVENTSPY.LIB" )
Vor deiner Eventloop kommt nun
Code: Alles auswählen
EventSpy():logSelected := {|a| MyFunc( a ) }
Code: Alles auswählen
FUNCTION MyFunc( aEvent )
LOCAL cString
cString := EventSpy():format( aEvent[1], aEvent[2], aEvent[3], aEvent[4] )
IF aEvent[1] <> NIL
MsgBox( "The numeric event constant is:" + Chr(13) +Chr(13) + ;
LTrim( Str(aEvent[1]) ), "Hooked into the Event Spy" )
ENDIF
QOut( cString )
RETURN cString
Code: Alles auswählen
#pragma Info( NOINIT )
nEvent := AppEvent( @mp1, @mp2, @oXbp )
#pragma Info( INIT )
gruss by OHR
Jimmy
Jimmy
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi Jimmy,
Danke für die ausführliche Hilfe. Das Fenster erscheint jetzt auch, aber es wird nichts angezeigt. Ich denke mal, irgendwas habe ich wieder übersehen....
Danke für die ausführliche Hilfe. Das Fenster erscheint jetzt auch, aber es wird nichts angezeigt. Ich denke mal, irgendwas habe ich wieder übersehen....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Hi,
MakeDlll.BAT nicht funktioniert ?
kommst du an die "Option" ran ?
hast du die LIB/DLL aus dem Zip File genommen weil das Ergebniss mitManfred hat geschrieben: Danke für die ausführliche Hilfe. Das Fenster erscheint jetzt auch, aber es wird nichts angezeigt. Ich denke mal, irgendwas habe ich wieder übersehen....
MakeDlll.BAT nicht funktioniert ?
kommst du an die "Option" ran ?
gruss by OHR
Jimmy
Jimmy
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Ja,
habe ich genommen und an die Optionen komme ich auch ran. ich habe auch ein wenig damit gespielt, aber kein Muckser zu entlocken.
habe ich genommen und an die Optionen komme ich auch ran. ich habe auch ein wenig damit gespielt, aber kein Muckser zu entlocken.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Jetzt geht es.
ich habe aber die eventspy.lib ins Projektfile eingebunden und als Pragma aus der PRG rausgenommen
ich habe aber die eventspy.lib ins Projektfile eingebunden und als Pragma aus der PRG rausgenommen
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Ja,
Ergebnisse habe ich. Aber ich kann nichts damit anfangen. Der Bildschirm wird vollgeschrieben, dass ich gar nicht so schnell gucken kann. Mit den Daten kann ich nichts anfangen. Ich habe aber im Moment ein ganz anderes Problem, das mir die Schweißperlen, so groß wie Golfbälle, auf die Stirn treibt. Deshalb muß ich den Spion erst mal hinten dran hängen.
Ergebnisse habe ich. Aber ich kann nichts damit anfangen. Der Bildschirm wird vollgeschrieben, dass ich gar nicht so schnell gucken kann. Mit den Daten kann ich nichts anfangen. Ich habe aber im Moment ein ganz anderes Problem, das mir die Schweißperlen, so groß wie Golfbälle, auf die Stirn treibt. Deshalb muß ich den Spion erst mal hinten dran hängen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
hi,
beim Eventspy gibt es den Button "Option". Wenn man da ran kommt kann
man bestimmen "welche" Events angezeigt werden bzw. in das Logfile
geschrieben wird.
Ich bin mir jetzt nicht sicher, aber es könnte sein das die v1.9x Version
irgendwie ging (komische Effekte wie bei dir) und ich dann einfack mal
"andere" Version ausprobiert hatte ... Ich werde mal Datum/Uhrzeit
vergleichen müssen ...
beim Eventspy gibt es den Button "Option". Wenn man da ran kommt kann
man bestimmen "welche" Events angezeigt werden bzw. in das Logfile
geschrieben wird.
Ich bin mir jetzt nicht sicher, aber es könnte sein das die v1.9x Version
irgendwie ging (komische Effekte wie bei dir) und ich dann einfack mal
"andere" Version ausprobiert hatte ... Ich werde mal Datum/Uhrzeit
vergleichen müssen ...
gruss by OHR
Jimmy
Jimmy
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi,
ich habe überall einen Haken rein gemacht. Aber ein Logfile konnte ich nirgends finden.
ich habe überall einen Haken rein gemacht. Aber ein Logfile konnte ich nirgends finden.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!