AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Debug-Bug ?

Ein Thema von stahli · begonnen am 6. Mai 2021 · letzter Beitrag vom 27. Sep 2021
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.224 Beiträge
 
Delphi 10.4 Sydney
 
#1

Debug-Bug ?

  Alt 6. Mai 2021, 00:12
Ich habe ein Problem beim Debuggen.

An einem bedingten Haltepunkt wird mit F8 statt schrittweise Debuggen "weiter ausführen" (F9) ausgeführt.
Video: https://youtu.be/yTVGrz3I-nk

Kennt Ihr sowas?
Normal sollte das ja nicht sein...

Ich könnte ggf. mal versuchen, das in einem kleinen Testprojekt nachzustellen und zu melden.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.596 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Debug-Bug ?

  Alt 6. Mai 2021, 02:39
Eigentlich sollte er hier vor Auswertung des bedingten Breakpoints anhalten (bzw. direkt nach dem vorherigen Befehl),
aber kann sein, dass er diese Breakpoint-Bedingung doch noch prüft, weil der Debugger grade auf dieser Zeile landet.
Und weil der Breakpoint grade "nicht" zutrifft, dann fehlerhaft ins F9 weitergeht (was dieser Breakpoint normal ja machen würde ... nja, eigentlich ohne Änderung einfach weiter, aber zum Prüfen muß der Debugger ja "unbemerkt" kurz anhalten und dann neu starten, oder nicht).

Ja, würde es auch als Fehler betrachten.
Aber nur diese "Vermutung", warum er es leider nicht macht. (als Hinweis/Vermutung für deine Fehlermeldung, bzw. für weitere Suchen, nach diesem Problem)


Mach mal ein Beep; , Sleep(0); , if Tag = 0 then ; oder sowas als "leeren" Befehl zwischen deine beiden Zeilen.




PS: Warum F8 und nicht F7?
Du hast doch nicht etwas die grauenhaften DebugDCUs in den Projektoptionen aktiv?
Es war echt eine schwachsinnige perverse perfide Idee, diese Option in neuen Projekten standardmäßig zu aktivieren. (und seit Jahrzehnten sooooo unfähig/unwillig zu sein, dass wie zurück zu ändern)

Bei F7 (ohne DebugDCUs) passiert das auch?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu ( 6. Mai 2021 um 02:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.224 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Debug-Bug ?

  Alt 8. Mai 2021, 19:35
Vielen Dank!

Hier mal ein aktuelles Video mit ein paar neuen Infos: https://youtu.be/6TTqxOtXfj0

M.E. ist das ein Delphi-Bug.
So richtig klar ist mir aber nicht, was da falsch läuft...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.596 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Debug-Bug ?

  Alt 8. Mai 2021, 20:03
Man kann sich bestimmt via OTA in den Debugger hängen?

Wenn ja, dann könnte man sich eventuell anzeigen lassen, wann die Bedinnung des Haltepunktes ausgewertet wird, (entsprechend meiner Vermutung von oben)
und dort via MessageBox oder MessageAPI eine Meldundung ins Ereignis-Fenster der IDE ausgeben lassen.
(OutputDebubString geht innerhalb der IDE natürlich nicht, außer man debuggt die IDE selber)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.224 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Debug-Bug ?

  Alt 8. Mai 2021, 20:18
Jetzt bringen die zwei Dummy-Zeilen bei der realen Arbeit auch nichts mehr.

Ich versuche morgen (weil ich keine VM nutze und morgen sowieso ein komplettes Update mache) mal den Delphi-Patch und wenn das Problem dann noch besteht, mal ein kleines Testprojekt nachzustellen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
venice2

Registriert seit: 5. Dez 2019
Ort: Köln
732 Beiträge
 
Delphi 2010 Architect
 
#6

AW: Debug-Bug ?

  Alt 8. Mai 2021, 21:11
Ich habe festgestellt wenn man innerhalb einer Funktion eine andere aufruft wie OutputDebugString dann muß der BreakPoint innerhalb dieser Funktion gesetzt werden.
Ansonsten überspringt der Debugger einfach die nächste Zeile.

Debugg doch mal mit der Unit welche die Funktion OutputDebugString enthält und setze dort den Breakpunkt.
Danach sollte eigentlich die nächste Zeile wo sich der BreakPoint befindet nach OutputDebugString angesprungen werden.

Der Compiler vor allem für 64Bit spinnt mit unter was das debuggen angeht.
Ich habe des öfteren das gleiche Problem wie du gezeigt hast im Video!

Versuch macht klug

PS:
Und ja es ist ein Delphi-Bug.

Geändert von venice2 ( 8. Mai 2021 um 21:15 Uhr)
  Mit Zitat antworten Zitat
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
202 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Debug-Bug ?

  Alt 10. Mai 2021, 17:02
Ich verwende noch RIO. Da kann ich aktuell keine Dlls debuggen. (Keine Haltepunkte)
Ging bis vor zwei, drei Monaten noch problemlos. (In der Zeit kamen keine Updates für RIO, nur der übliche Windows kram).

Jetzt starte ich Delphi zum Debuggen der Dll, es wird mit jedem Start etwas mehr RAM verschleudert.
Irgendwann gibt es dann eine "Speicher voll" Exception in Delphi, überlebt die IDE das, kann ich dann die Dll ordentlich Debuggen und habe funktionierende Haltepunkte.
Das geht meißt nur einmal, danach ist dann ein Neustart der IDE angesagt.

Ich vermute irgend ein Windows Update.
Just seit gestern funktioniert auch einiges an externer Hardware nicht mehr. Die Interfaces haben einfach neue Namen bekommen. Extra arbeit, herrlich.
Stefan
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Jetzt rächt sich die Natur und tötet uns.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.224 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Debug-Bug ?

  Alt 26. Mai 2021, 23:00
Ich habe mal ein Testprojekt zusammengeschustert.
Jetzt konnte ich das Problem reproduzieren aber noch nicht näher eingrenzen (könnte mit den Interfaces und/oder Properties zusammenhängen).

Könntet Ihr erst mal testen, ob das Problem bei Euch auch auftritt?

Einfach mit F9 starten bis zum ersten Breakpoint.
Dann mit F8 schrittweise weiter gehen.

Wenn der zweite Breakpoint mit enthaltenen Bedingungen erreicht wird, wird ab dort alles übersprungen.
Wenn der zweite Breakpoint deaktiviert ist, funktioniert alles korrekt.

Wenn NUR der zweite Breakpoint aktiviert ist funktioniert es auch.
Miniaturansicht angehängter Grafiken
26-05-_2021_22-50-00.png  
Angehängte Dateien
Dateityp: zip DebugBug.zip (3,52 MB, 7x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (27. Mai 2021 um 00:22 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.716 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Debug-Bug ?

  Alt 27. Mai 2021, 08:26
Ja, mit F8 klappt da irgendwas nicht (10.0 Seattle).
Mit F7 scheint er aber weiterhin zu machen was er sollte, auch wenn beide Haltepunkte aktiviert sind?

Wenn ich Assembler lesen könnte, dann könnte ich bestimmt sagen ob der generierte Code korrekt ist, aber das scheint er auf den ersten Blick nach ja zu sein, oder?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
8.095 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Debug-Bug ?

  Alt 27. Mai 2021, 09:18
Wenn da nicht die Bedingung (Value1 = 3) and (Value2 = 3), die logischerweise nie erfüllbar ist, drin wäre, würde der Haltepunkt auch gehen. Das siehst du sofort in der Liste der Haltepunkte.

Da der Pfad in der .dsk nicht zu meinen Pfaden passt, funktioniert auch das Entfernen mit F5 und das erneute Setzen nicht. Das ist ein Bug, dass dann die Bedingung dennoch greift obwohl es quasi ein zusätzlicher Haltepunkt in der Zeile ist.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 21:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf