Mit dem Mauszeiger im Debuggermodus Methoden aufrufen [ERLEDIGT]

Xbase++-IDE - Workbench, Visual Xbase

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Mit dem Mauszeiger im Debuggermodus Methoden aufrufen [ERLEDIGT]

Beitrag von Manfred »

Hi Leute,

das ist ja mal eine heiße Sache, die ich gerade zum 1.Mal direkt reproduzieren konnte. Ich hatte gerade einen Quellcode im Debugger angesehen und bin dann mit dem Mauszeiger über den Quelltext gehuscht. Als ich dabei über eine selbstgeschriebene Methode fuhr, wurde die direkt aufgerufen. Ich habe nichts gemacht, nur die Maus drüberbewegt. Nicht schlecht, oder? Das klappte jedesmal. Das Programm läuft im Hybridtextmodus und die Methode baut ein Quickbrowse, oder Browse auf, sprich es wird ein Dialog überblendet. Ich werde gleich einmal versuchen zu testen, ob das nur in dieser Kombination klappt, oder ob jedesmal die "überfahrene" Methode aufgerufen wird.

Das kann doch nicht richtig sein, oder?

Vor allen Dingen nervt das, weil Dinge gemacht werden, die überhaupt nicht gewollt sind.

PS: Tatsächlich, es ist drissegal. Ich kann sogar eigene Methodanwerfen, die nichts mit GUI zu tun haben. Ich habe sogar die Methode angeworfen, die eine DB öffnen soll. Die hat sich natürlich beschwert.
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!!
hschmidt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 164
Registriert: Mo, 09. Jan 2006 17:06
Wohnort: Paderborn
Hat sich bedankt: 2 Mal
Kontaktdaten:

Beitrag von hschmidt »

Hallo Manfred,

das ist eine Einstellungssache:
Unter 'Tools - Debugger Options' gibt es im 1. Tab General eine Checkbox 'Evaluate Expressions'. Wenn diese Einstellung gesetzt ist, werden Funktionen unter dem Mauszeiger direkt ausgeführt.
Das ist auch in der Hilfe so dokumentiert und es wird explizit davon abgeraten, weil es zu unvorhersehbaren Ergebnissen führen kann.

Schöne Grüße

Hans
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi,

hier eine Antowrt vom Support, die ich aber nicht wirklich verstanden habe, ob es nun so gewollt ist, oder nicht.

Mal sehen ob ich sie richtig verstanden habe ;-)

Xbase++ ist eine dynamische Sprache. Sie haben wohl eben die
volle Tragweite dieser Tatsache erfahren.

Wenn sie zum Beispiel mit dem Expression Monitor einen Ausdruck
auswerten, dann wird dieser in der Runtime des Debuggees auch
ausgeführt. Wenn sie zum Beispiel eine Methode angeben, dann wird
diese Methode gesucht, gerufen und der Rückgabewert wird angezeigt.

Das Selbe gilt für die Tooltips. Wenn sie über den Quellcode den
Mauszeiger stehen lassen, dann wird der Ausdruck unter dem
Mauszeiger ausgewertet, so können sie im Tooltip zum Beispiel sehen
dass der Inhalt einer Variablen "i" die 5 ist.

Wenn sie eine IVar auslesen die Access/Assign implementiert ist,
dann läuft tatsächlich auch der Code im Debugge um den Wert der
IVar zu ermitteln.

Sie beschreiben, dass eine Methode ausgefürht wurde, ok das kann so
von uns nicht gewollt sein. Wir werden das mal prüfen.
Haben sie den Methodenaufruf markiert?

Übrigens kann man einige der hier beschriebenen Sachen im Tool
Menü für den Debugger ein- und ausschalten.

Ich hoffe diese Infos helfen weiter.

Mit freundlichen Grüssen,
Andreas Herdt
Alaska Technical Support
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!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Manfred,
yup - schau Dir mal die Antwort von Hans (ein wenig weiter oben) an...

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.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Martin,

Sie beschreiben, dass eine Methode ausgefürht wurde, ok das kann so
von uns nicht gewollt sein. Wir werden das mal prüfen.
Haben sie den Methodenaufruf markiert?
dieser Satz verwirrt mich. Ist es jetzt gewollt, oder nicht?
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!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Nun,
teils-teils würde ich sagen!
Du hattest ja sicherlich den Methodenaufruf aktiviert, oder?
Und ob es dann gewollt war, kann ich natürlich nicht beantworten - das kann man so und so verstehen...
Am besten beantwortest Du Andreas erstmal seine Frage :)

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.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Martin,

das ist doch schon alles erledigt. Ich wollte hier nur nicht direkt jede Antwort von Alaska reinhauen, bevor der Fall nicht abgeklärt ist... ;-)
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!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Ah - OK!
Und - hat sich Andreas daraufhin nochmals gemeldet?

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.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Nein, noch nicht. Die Mail ist vom 25.08.2006. War also ein WE dazwischen. Ist aber nicht schlimm, weil die Reaktion als solche verdammt schnell war.
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!!
hschmidt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 164
Registriert: Mo, 09. Jan 2006 17:06
Wohnort: Paderborn
Hat sich bedankt: 2 Mal
Kontaktdaten:

Beitrag von hschmidt »

Manfred,

hattest Du denn den Methodenaufruf (evaluate expressions) aktiviert oder nicht?

Hans
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Hans,

stimmt, hatte ich aktiviert. Muß ich jetzt ganz ehrlich zugeben habe ich überlesen, nicht kapiert, falsch umgesetzt, was auch immer.

Ich habe mir überhaupt keine Gedanken darüber gemacht, dass es möglich ist und vor allen Dingen sehe ich jetzt überhaupt keinen Grund dafür sowas mit dem Mauszeigen ausführbar zu machen, während des Debuggen.

Kann mir jemand mal einen Tipp geben, wozu man sowas wirklich braucht? Ich meine jetzt auch Methoden ausführen, obwohl sie nicht an der Reihe sind? Sehe ich keine Sinn und Zweck drin. Wie ich schließlich festgestellt habe, ist das sogar nervend. Mauszeiger draufsetzen und ab geht die Post. OK; auf Kommando, mit Tastendruck, oder sonstwie, aber nur mit der Maus? Das gibt m.E. heftig Probleme.

PS: Ich habe es deaktiviert. Ergebnis: Jetzt sehe ich überhaupt nichts mehr, was mit Objekten passiert. Ich kann mir nur die kompletten Objekte ansehen. Wenn ich auf eine Membervar fahre mit der Maus, wird nichts angezeigt. Wenn ich den Parameter wieder aktiviere, dann werden auch Membervariablen einzeln angezeigt.

Ob das so gewollt war?
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!!
hschmidt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 164
Registriert: Mo, 09. Jan 2006 17:06
Wohnort: Paderborn
Hat sich bedankt: 2 Mal
Kontaktdaten:

Beitrag von hschmidt »

Hallo Manfred,

das ist bei mir auch so.
Wenn man sich den Inhalt einer Instanzvariablen ansehen will, geht das m.E. am besten mit dem Expression Inspector (<Strg + F7>).
Dort kann man auch Funktionen aufrufen, Variablen manipulieren etc.

Hans
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hallo Hans,

jetzt kommt wieder ein berühmtes "Ja, aber"

Die VArs einfach so anzeigen, das ging doch auch mit dem alten Debugger xppdbg. Ich finde es schon fein, nur mit der Maus mir die Inhalte anzeigen zu lassen. Bei dem anderen halt, da habe ich so meine Bedenken....
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!!
Benutzeravatar
dtmackenzie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Do, 22. Nov 2007 9:02
Wohnort: Leipzig
Hat sich bedankt: 66 Mal
Danksagung erhalten: 22 Mal
Kontaktdaten:

Re: Mit dem Mauszeiger im Debuggermodus Methoden aufrufen

Beitrag von dtmackenzie »

Danke Manfred und Hans!
Genau das Problem habe ich zig mal gehabt, ohne dass ich wusste, warum meine Anwendung plötzlich weiter lief während ich beim Breakpoint war.
Heute bin ich endlich mal drauf gekommen, dass ich den Mauscursor unabsichtlich über eine Anzeigefunktion bewegt habe.
Meiner Meinung nach hätte dies wirklich nicht die Defaulteinstellung sein dürfen - ist unüblich, verwirrend und gefährlich.
Für Variablen ist es üblich, nett und völlig OK, die in Tooltips zu zeigen - aber Nebenwirkungen von so einer unbedachten Geste? Nein Danke!
Gut nun zu wissen, dass ich dieses unerwartete und unerwünschte Verhalten wenigstens ausschalten kann!
Danke nochmal und bleibt gesund,
David
Viele Grüße,
David
Benutzeravatar
dtmackenzie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Do, 22. Nov 2007 9:02
Wohnort: Leipzig
Hat sich bedankt: 66 Mal
Danksagung erhalten: 22 Mal
Kontaktdaten:

Re: Mit dem Mauszeiger im Debuggermodus Methoden aufrufen

Beitrag von dtmackenzie »

Das Problem ist Alaska nun bekannt, mir wurde berichtet:
Gegenwärtig sollte die Voreinstellung für den genannten Schalter aber bereits auf "aus" sein, dh. standardmässig ist die Ausdrucks-Auswertung aus Sicherheitsgründen bereits ausgeschaltet.

Manfred, es ist Dein Thread, möchtest Du es vielleicht als erledigt markieren?
Viele Grüße,
David
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Mit dem Mauszeiger im Debuggermodus Methoden aufrufen

Beitrag von Manfred »

Hi,
das Problem ist (oder war) wenn der Schalter auf AUS steht, werden auch keine Inhalte von Variablen mehr angezeigt (bei Mouseover) und das ist das Übel. Denn darin liegt die Würze der Workbench im Gegensatz zum Textdebugger.
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!!
Benutzeravatar
dtmackenzie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Do, 22. Nov 2007 9:02
Wohnort: Leipzig
Hat sich bedankt: 66 Mal
Danksagung erhalten: 22 Mal
Kontaktdaten:

Re: Mit dem Mauszeiger im Debuggermodus Methoden aufrufen

Beitrag von dtmackenzie »

Hi Manfred,
bei mir (Workbench 2.0 Professional Build: 1185) geht das nun richtig mit Schalter AUS - Inhalte von Variablen werden mit Mauseover gezeigt, aber keine Funktionen ausgeführt.
Viele Grüße,
David
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Mit dem Mauszeiger im Debuggermodus Methoden aufrufen [ERLEDIGT]

Beitrag von Manfred »

Du hast recht. Das klappt jetzt tatsächlich, wie es aussieht. Habe ich noch gar nicht bemerkt. Das könnte alles jetzt für eine höhere Stabilität der WB sorgen, wenn man nicht mehr aus Versehen irgendeine Routine ausführt.
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!!
Antworten

Zurück zu „Workbench (ab 2.0), VX (bis 1.9 SL1)“