AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Debug-Bug ?

Ein Thema von stahli · begonnen am 6. Mai 2021 · letzter Beitrag vom 23. Sep 2024
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#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
44.184 Beiträge
 
Delphi 12 Athens
 
#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?
$2B or not $2B

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.343 Beiträge
 
Delphi 11 Alexandria
 
#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
44.184 Beiträge
 
Delphi 12 Athens
 
#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)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#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
(Gast)

n/a Beiträge
 
#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
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
691 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
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#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, 12x 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
6.176 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
9.648 Beiträge
 
Delphi 11 Alexandria
 
#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
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 +1. Es ist jetzt 06:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz