Probleme mit Breakpoints

Xbase++-IDE - Workbench, Visual Xbase

Moderator: Moderatoren

Probleme mit Breakpoints

Beitragvon J.Renseler » Mi, 28. Nov 2007 15:22

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
J.Renseler
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 151
Registriert: Do, 15. Nov 2007 11:40
Wohnort: Krefeld

Beitragvon Jan » Mi, 28. Nov 2007 15:52

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
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11619
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Beitragvon brandelh » Mi, 28. Nov 2007 15:54

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
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13323
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Beitragvon Martin Altmann » Mi, 28. Nov 2007 15:55

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: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12844
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Beitragvon brandelh » Mi, 28. Nov 2007 16:03

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
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13323
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Beitragvon Manfred » Mi, 28. Nov 2007 16:50

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 Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16082
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Beitragvon J.Renseler » Do, 29. Nov 2007 9:40

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
J.Renseler
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 151
Registriert: Do, 15. Nov 2007 11:40
Wohnort: Krefeld

Re: Probleme mit Breakpoints

Beitragvon Roger » Fr, 13. Aug 2010 7:49

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
Roger
Rookie
Rookie
 
Beiträge: 10
Registriert: Do, 17. Mai 2007 6:59

Re: Probleme mit Breakpoints

Beitragvon Martin Altmann » Fr, 13. Aug 2010 7:58

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: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12844
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Probleme mit Breakpoints

Beitragvon Manfred » Fr, 13. Aug 2010 8:01

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 Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16082
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Probleme mit Breakpoints

Beitragvon brandelh » Fr, 13. Aug 2010 8:03

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
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13323
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Probleme mit Breakpoints

Beitragvon Roger » Fr, 13. Aug 2010 8:25

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
Roger
Rookie
Rookie
 
Beiträge: 10
Registriert: Do, 17. Mai 2007 6:59

Re: Probleme mit Breakpoints

Beitragvon brandelh » Fr, 13. Aug 2010 9:28

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
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13323
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Probleme mit Breakpoints

Beitragvon Tom » Fr, 13. Aug 2010 9:38

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
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6692
Registriert: Do, 22. Sep 2005 22:11
Wohnort: Berlin

Re: Probleme mit Breakpoints

Beitragvon Manfred » Fr, 13. Aug 2010 9:51

Sowas ähnliches hatten wir schon mal.

viewtopic.php?f=30&t=879
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16082
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Probleme mit Breakpoints

Beitragvon brandelh » Fr, 13. Aug 2010 10:42

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
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13323
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Probleme mit Breakpoints

Beitragvon Manfred » Fr, 13. Aug 2010 10:50

Hi Hubert,

Alaska schon informiert?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16082
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Probleme mit Breakpoints

Beitragvon brandelh » Fr, 13. Aug 2010 12:03

Manfred hat geschrieben:Hi Hubert,
Alaska schon informiert?


ich habe die PDR Meldung vorhin abgesandt.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13323
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim


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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast