Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Debug-Bug ? (https://www.delphipraxis.net/207812-debug-bug.html)

stahli 5. Mai 2021 23:12

Debug-Bug ?
 
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.

himitsu 6. Mai 2021 01:39

AW: Debug-Bug ?
 
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
Delphi-Quellcode:
Beep;
,
Delphi-Quellcode:
Sleep(0);
,
Delphi-Quellcode:
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?

stahli 8. Mai 2021 18:35

AW: Debug-Bug ?
 
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...

himitsu 8. Mai 2021 19:03

AW: Debug-Bug ?
 
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)

stahli 8. Mai 2021 19:18

AW: Debug-Bug ?
 
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.

venice2 8. Mai 2021 20:11

AW: Debug-Bug ?
 
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.

Sinspin 10. Mai 2021 16:02

AW: Debug-Bug ?
 
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.

stahli 26. Mai 2021 22:00

AW: Debug-Bug ?
 
Liste der Anhänge anzeigen (Anzahl: 2)
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.

Der schöne Günther 27. Mai 2021 07:26

AW: Debug-Bug ?
 
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?

jaenicke 27. Mai 2021 08:18

AW: Debug-Bug ?
 
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.

stahli 27. Mai 2021 09:00

AW: Debug-Bug ?
 
Danke Euch.

@jaenicke

Deine Erklärung verstehe ich nicht wirklich.
Kannst Du (oder jemand anders mit gutem Englisch) das bei Emba evtl. mal als Bug melden?

Ich könnte es auch melden, wäre aber vermutlich weniger gut verständlich.

stahli 30. Mai 2021 19:14

AW: Debug-Bug ?
 
Ich habe mal versucht, einen Eintrag zu erstellen: https://quality.embarcadero.com/browse/RSP-34094

jaenicke 4. Jun 2021 12:09

AW: Debug-Bug ?
 
Ich hatte leider keine Zeit, aber ich habe dazu nun noch etwas ergänzt.

stahli 4. Jun 2021 12:10

AW: Debug-Bug ?
 
Danke. :thumb:

stahli 26. Sep 2021 21:56

AW: Debug-Bug ?
 
@jaenicke

Kannst Du nachvollziehen, was Emba da gemacht hat?
Angeblich wäre der Bug aktuell wohl nicht mehr nachvollziehbar - oder?

In D11 habe ich das Problem aber noch unverändert. :-(

Uwe Raabe 26. Sep 2021 23:38

AW: Debug-Bug ?
 
Ich kann das auch unter Delphi 11 noch nachvollziehen. Du solltest über Dispute Resolution den Bug wieder öffnen.

stahli 17. Mär 2022 19:17

AW: Debug-Bug ?
 
aus dem Quality-Thread:

Zitat:

Andre Stahl added a comment - Just now
The problem still exists in Delphi 11.1 :-(

stahli 21. Mär 2022 19:34

AW: Debug-Bug ?
 
Antwort auf https://www.delphipraxis.net/1503705-post89.html :

- alle *.dsk und *.~dsk gelöscht
- beide Breakpoints waren nach Öffnung des Projektes entfernt
- beide Breakpoints neu definiert
- Problem besteht weiter

stahli 18. Sep 2022 09:50

AW: Debug-Bug ?
 
In 11.2 existiert das Problem weiterhin.
Ich habe das nochmal im QP eingetragen - aber wenig Hoffnung. Debugging ist natürlich auch nicht ganz so wichtig.

jaenicke 18. Sep 2022 13:23

AW: Debug-Bug ?
 
Letztlich bleibt erst einmal nur, dass du die Bedingungen weglässt. Ein Workaround ist ja, dass du die Bedingung per if..then prüfst. Dann setzt du den Haltepunkt einfach auf eine Zeile innerhalb des if..then und schon landest du nur im Haltepunkt, wenn die Bedingung erfüllt ist.

Trotzdem frage ich mich wieso das Problem bei Neudefinition der Haltepunkte entsteht. Ich kann das nur mit den schon definierten Haltepunkten nachvollziehen, kann das Problem aber nicht von Anfang an reproduzieren.

freimatz 19. Sep 2022 07:26

AW: Debug-Bug ?
 
Zitat:

Zitat von stahli (Beitrag 1512020)
Debugging ist natürlich auch nicht ganz so wichtig.

wuzz? :shock::roll:
Ich habe heute Stand 08:10 Delphi schon vier mal neu gestartet wegen diversen AVs und Internal Errors. Das ist noch vergleichbar harmlos, ich kann immerhin noch entwickeln. Aber wenn ich mal nicht mehr Debuggen kann weil das Programm nicht an Breakpoints anhält oder das Watch keine Werte anzeigt, dann ist es aus.

jaenicke 19. Sep 2022 09:47

AW: Debug-Bug ?
 
Das habe ich ironisch verstanden. :wink:

stahli 19. Sep 2022 11:58

AW: Debug-Bug ?
 
Ja klar war das ironisch gemeint. Als wenn sich bei einem Auto mit Frontantrieb die Hinterräder nicht drehen, aber man ja einfach Ski drunter klemmnen kann.

Ich habe jetzt das Neuanlegen der Breakpoints nicht noch einmal versucht, da es beim letzten Mal ja auch nichts brachte.
Emba hat ja offenbar das Problem vor 15 Monaten auch als solches selbst bestätigt.
Dann sollte es auch mal irgendwann geklärt werden.

jaenicke 19. Sep 2022 12:23

AW: Debug-Bug ?
 
Zitat:

Zitat von stahli (Beitrag 1512069)
Ich habe jetzt das Neuanlegen der Breakpoints nicht noch einmal versucht, da es beim letzten Mal ja auch nichts brachte.

Die Frage ist ja vor allem, ob danach die Pfade auch wieder falsch sind (und wenn ja, wie das sein kann).

Ich kann mir das nur so erklären, dass das Propblem ursprünglich passiert ist, weil du die betreffenden Dateien doppelt auf dem PC hattest und die falsche Unit per Drag-And-Drop in Delphi hinein geöffnet hast. Wenn man dann dort die Haltepunkte setzt, entsteht tatsächlich das Problem.

stahli 19. Sep 2022 12:44

AW: Debug-Bug ?
 
Ich schaue mir das heute Abend nochmal an.

M.E. wird der fragliche Haltepunkt direkt berücksichtigt, wenn ich die Bedingung lösche.
Das heißt, er muss ja an der richtigten Stelle verknüpft sein.

Mal sehen, ob ich heute Abend etwas finde. So oder so müsste die IDE aber doch nun mal inzwischen wenigstens erkennen, dass da etwas nicht stimmt.

EDIT: Der Haltepunkt wird ja mit F7 oder F8 auch nicht einfach ignoriert sondern die Anwendung wird von der Stelle aus direkt bis zum nächsten gültigen Haltepunkt übersprungen.

stahli 24. Sep 2022 17:42

AW: Debug-Bug ?
 
Ich kam erst jetzt dazu, aber ohne neue Erkenntnisse.

Beide Haltepunkte entfernt und neu gesetzt ohne Bedingungen.
Funktioniert wie erwartet. F9 geht bis zum ersten Haltepunkt, F8 geht dann zeilenweise und über den zweiten Haltepunkt hinweg (ganz normal).

Dann neuer Versuch mit Bedingung "(Value1 = 3) and (Value2 = 3)" für den zweiten Haltepunkt und Neustart.
F9 geht wieder bis zum ersten Haltepunkt. Schrittweise F8 wird ab zweitem Haltepunkt wie F9 ausgeführt. :cry:

stahli 10. Apr 2023 06:32

AW: Debug-Bug ?
 
Mit D11.3 besteht das Problem unverändert.

stahli 21. Sep 2024 18:06

AW: Debug-Bug ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mit Delphi 12.2 keine Änderung. :-(

Aber Delphi hat ja jetzt KI. Die wird das Problem bald lösen. Ich freue mich drauf.


Delphi ist frisch installiert und nur Codesite Express zusätzlich.
Habe die Breakpoints extra gelöscht und neu angelegt.

stahli 22. Sep 2024 10:25

AW: Debug-Bug ?
 
Ich habe mal einen neuen Fall in dem neuen Portal (scheint ja ein neues zu geben) angelegt:

https://embt.atlassian.net/servicede...tal/1/RSS-1858

Offenbar war der alte wohl verloren gegangen (so würde ich das zumindest mal einschätzen). :-(

dummzeuch 22. Sep 2024 10:36

AW: Debug-Bug ?
 
Zitat:

Zitat von stahli (Beitrag 1541376)
Ich habe mal einen neuen Fall in dem neuen Portal (scheint ja ein neues zu geben) angelegt:

https://embt.atlassian.net/servicede...tal/1/RSS-1858

Offenbar war der alte wohl verloren gegangen (so würde ich das zumindest mal einschätzen). :-(

Den Bug Report kannst nur Du sehen. Du musst ganz unten links "Share with Embarcadero Customers" auswählen, damit wir ihn auch sehen können.

stahli 22. Sep 2024 10:52

AW: Debug-Bug ?
 
Danke, erledigt.
(da muss man erst mal drauf kommen)

Uwe Raabe 22. Sep 2024 11:15

AW: Debug-Bug ?
 
Zitat:

Zitat von stahli (Beitrag 1541379)
(da muss man erst mal drauf kommen)

Das ist aber die Voreinstellung beim Anlegen eines neuen Bugs, die man dann bewusst ändern müsste um es zu deaktivieren.

stahli 22. Sep 2024 11:29

AW: Debug-Bug ?
 
Ich habe bewusst da nichts umgestellt (wenn, dann versehentlich).

TiGü 23. Sep 2024 12:56

AW: Debug-Bug ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von stahli (Beitrag 1541376)
Ich habe mal einen neuen Fall in dem neuen Portal (scheint ja ein neues zu geben) angelegt:

https://embt.atlassian.net/servicede...tal/1/RSS-1858

Offenbar war der alte wohl verloren gegangen (so würde ich das zumindest mal einschätzen). :-(

Wenn du ein sauberes Projekt nimmst (nur PAS-, DPROJ-, DPR-, DFM-Dateien), also den ganzen Müll wie DSK-Dateien usw. löschst, kannst du sauber Debuggen und landest auch per F8 im zweiten Breakpoint.

Siehe Anhang, viel Spaß damit.

stahli 23. Sep 2024 20:46

AW: Debug-Bug ?
 
@TiGü

Danke, aber ich kann das hier nicht nachstellen.

Ich habe
1.) alle Dateien ausser Deiner genannten entfernt und
2.) genau nur Deine Dateien verwendet

und jeweils die Breakpoints wie vorgegeben angelegt, wobei das Problem direkt wieder auftritt.


Im Quality-Portal ist der Fall jetzt als "offen" eingestuft. Mal sehen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz