Probleme mit Breakpoints

Xbase++-IDE - Workbench, Visual Xbase

Moderator: Moderatoren

Antworten
J.Renseler
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Do, 15. Nov 2007 11:40
Wohnort: Krefeld
Kontaktdaten:

Probleme mit Breakpoints

Beitrag von J.Renseler »

Hallo,

ich habe mal wieder ein kleines Problem mit VX, hoffentlich nur eine Einstellungssache.

Bei mir funktionieren keine VX Breakpoints, d.h. der Debugger unterbricht mein Programm nicht bei den Breakpoints die ich mit F5 setzen kann. Die Breakpoints werden als invalid markiert. Setze ich hingegen über altd() fest einen Breakpoint im Programm funktioniert es problemlos.
So kann ich aber leider nicht die erweiterten Funktionen der Breakpoints benutzen.

Hat jemand schon mal sowas beobachtet?

Gruß,
Jannik
Kassensysteme für den Einzelhande http://ab-software.de
Mitglied der XUG-Cologne http://www.xug-cologne.de
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Beitrag von Jan »

Normalerweise funktionieren Breakpoints immer. Aber nicht auf jeder Zeile (z. B. auf Variablendeklarationen nicht). Und Du musst das Programm nicht mit ShiftF9 sondern mit F9 starten.

Jan
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo,

eventuell musst du eine Zeile rauf oder runter, Leerzeilen z.B. können nicht als Breakpoint dienen. ENDIF oder DO CASE meine ich sind auch nicht möglich, sondern genau die CASE .... Zeile.
Gruß
Hubert
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 »

Wenn ich mich recht erinnere, gab es (zumindest vor VX) auch Probleme, wenn die prg-Datei ein jüngeres Datum hat, als die obj-Datei...

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
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Martin Altmann hat geschrieben:Wenn ich mich recht erinnere, gab es (zumindest vor VX) auch Probleme, wenn die prg-Datei ein jüngeres Datum hat, als die obj-Datei...
wenn die sich unterscheiden ist es natürlich besonders übel :D

Das ist dann wie in Berlin ne Straße suchen mit dem Stadtplan von Köln - der Stadtteil heißt ja so ähnlich :wink:
Gruß
Hubert
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 Jannik,

kenne ich das Problem. Wie schon oben erwähnt: am besten VX beenden, neu kompilieren und dann sollte es gehen. Allerdings auch hier wieder ein kleiner Hinweis, VX ist immer noch Beta und hat ein paar kleine Fehler...
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!!
J.Renseler
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Do, 15. Nov 2007 11:40
Wohnort: Krefeld
Kontaktdaten:

Beitrag von J.Renseler »

Hallo,

danke für euere Tipps ...
brandelh hat geschrieben:Hallo,

eventuell musst du eine Zeile rauf oder runter, Leerzeilen z.B. können nicht als Breakpoint dienen. ENDIF oder DO CASE meine ich sind auch nicht möglich, sondern genau die CASE .... Zeile.
es lag wohl wirklich dadran das ich versucht habe Breakpoints auf Leerzeilen zu setzen.

Natürlich ist VX noch Beta, aber man kann ja doch schon ne Menge damit machen. :)

Gruß,
Jannik
Kassensysteme für den Einzelhande http://ab-software.de
Mitglied der XUG-Cologne http://www.xug-cologne.de
Roger
Rookie
Rookie
Beiträge: 10
Registriert: Do, 17. Mai 2007 7:59

Re: Probleme mit Breakpoints

Beitrag von Roger »

Hallo

Ich habe alle paar Monate wieder das Problem, dass der Debugger mit einem falschen Quellcode arbeitet, d.h. er springt zu nicht existierenden Zeilen (wie von Jannik beschrieben).

Das Problem verschwand jeweils 'irgendwie' wieder - aber im Moment ist es gerade sehr hartnäckig. Es tritt diesmal nur bei einem .PRG (von etwa 40 in diesem Projekt) auf, das Tracen in den anderen .PRGs funktioniert einwandfrei.

Es geht nicht um Breakpoints auf Leerzeilen. Ich habe schon Folgendes versucht:
1) .OBJ gelöscht, .PRG neu kompiliert ...
2) .PRG komplett aus Projekt entfernt, .EXE ohne dieses Programm erzeugt, anschliessend neu ins Projekt aufgenommen, neu kompiliert ...
3) Angaben über Breakpoints manuell aus .XPJ entfernt ...
... alles ohne Erfolg :-(

Wer kann mir weiterhelfen? Danke!

Grüsse,
Roger
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:

Re: Probleme mit Breakpoints

Beitrag von Martin Altmann »

Moin Roger,
wahrscheinlich:
  • Ist die betreffende prg ohne DEBUG-Schalter kompiliert
  • Sind am Anfang des prg irgendwelche DLLFUNCTION o.ä. Konstrukte drin - die dann ans Ende verschieben.
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

Re: Probleme mit Breakpoints

Beitrag von Manfred »

Hi Roger,

das Problem kenne ich auch. Bei mir war es aber immer eine Inkonsistenz zwischen PRG und OBJ Datei. Ein paar Probleme haben sich einfach "wie von selbst" gelöst, sprich ich habe keine Ahnung, warum sie nachher weg waren.
Ansonsten war irgendwo ein Pfad auf eine Obj Datei gesetzt den ich übersehen hatte. Die entsprechende ObJ Datei entfernt und es klappte wieder. Das war übrigens die Hauptursache. Ich hätte schwören können, dass alle OBJ Dateien weg, oder neu kompiliert waren. Irgendwo hatte sich dann ein Wurm eingeschlichen
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
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Probleme mit Breakpoints

Beitrag von brandelh »

Hi,

das Problem habe ich aktuell auch !
Sowohl im Debugger als auch in der XppError.LOG sind die Fehlerzeilenangaben um 2 Zeilen verschoben [-X
Gruß
Hubert
Roger
Rookie
Rookie
Beiträge: 10
Registriert: Do, 17. Mai 2007 7:59

Re: Probleme mit Breakpoints

Beitrag von Roger »

Martin Altmann hat geschrieben:Moin Roger,
wahrscheinlich:
  • Ist die betreffende prg ohne DEBUG-Schalter kompiliert
  • Sind am Anfang des prg irgendwelche DLLFUNCTION o.ä. Konstrukte drin - die dann ans Ende verschieben.
Viele Grüße,
Martin

Hallo zusammen

Problem gelöst! Ich mache grundsätzlich alle #define und #include-Zeilen zu Beginn der .PRGs. Jetzt habe ich die folgende "include"-Zeile wieder ans Ende des Codes verschoben (wo der Formdesigner die jeweils hinschreibt) - und alles funktioniert wie gewünscht :-)

Code: Alles auswählen

* Programmcode fuer die Implementierungsebene der Klasse einfuegen
#include "_KONDDETAIL.PRG"
Erstaunlich - wunderbar - vielen Dank!
Gruss Roger
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Probleme mit Breakpoints

Beitrag von brandelh »

Code: Alles auswählen

* Programmcode fuer die Implementierungsebene der Klasse einfuegen
#include "_KONDDETAIL.PRG"
Diese include lösche ich immer in der PRG und trage diese PRG in der projekt.xpj unter PRG .
Normalerweise müssen die #include "*.CH" VOR dem Quellcode kommen, da diese ja normalerweise #define XXXX Wert enthalten ...

Bei mir könnte es eventuell mit einem der neuen HOTFIX zu tun haben ... aber aktuell muss ich mich wohl daran gewöhnen 2 Zeilen über der Angabe zu lesen :banghead:
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Probleme mit Breakpoints

Beitrag von Tom »

Wenn man eine Direktivendatei inkludiert (.CH), werden die Direktiven vom Compiler abgearbeitet, also die definierten Konstanten im Quellcode ersetzt und bei anderen Direktiven (#command usw.) entsprechende Änderungen am Code vorgenommen. Bei #defines entsteht nichts Zusätzliches im Code. Wenn man jedoch eine Quellcodedatei (.PRG) inkludiert, wird der Quellcode an dieser Stelle ergänzt.

INLCLUDE1.PRG:

Code: Alles auswählen

#include 'include2.prg'
FUNCTION Main()
  ? 'Hallo, Welt'
  ? Halloele()
RETURN NIL
INCLUDE2.PRG:

Code: Alles auswählen

FUNCTION Halloele()
? 'Aber sowas von hallo.'
RETURN NIL
Wenn man 'INCLUDE1.PRG' compiliert, wird der Code aus 'INCLUDE2.PRG' 'INCLUDE1.PRG' oben hinzugefügt. Das kann man im Präprozessor-Output sehr schön sehen. Und deshalb "verrutschen" natürlich auch alle Zeilen, wenn das Laufzeitfehlersystem eingreifen muss.
Herzlich,
Tom
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: Probleme mit Breakpoints

Beitrag von Manfred »

Sowas ähnliches hatten wir schon mal.

http://www.xbaseforum.de/viewtopic.php?f=30&t=879
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
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Probleme mit Breakpoints

Beitrag von brandelh »

Dass man Ärger mit #include "*.PRG" haben kann ist klar, das mache ich auch nicht ;-)

Was ich mache ist die Verwendung von dem Befehl SUPER ohne irgendwas ...
in dem Quellcode hatte ich
2 Zeilen Versatz und
2 SUPER ...
wenn ich nun
SUPER:.... schreibe (also statt SELF:....) stimmen die Zeilen wieder !

Somit liegt ein Fehlverhalten von Xbase++ Version 1.90.355 vor - schade das hatte ich gerne benutzt :(
Gruß
Hubert
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: Probleme mit Breakpoints

Beitrag von Manfred »

Hi Hubert,

Alaska schon informiert?
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
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Probleme mit Breakpoints

Beitrag von brandelh »

Manfred hat geschrieben:Hi Hubert,
Alaska schon informiert?
ich habe die PDR Meldung vorhin abgesandt.
Gruß
Hubert
Antworten

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