![]() |
Rio Debugging Probleme mit Jedi JCL
Hallo,
ich versuche den einen oder anderen im Mantis der Jcl gemeldeten Bug zu beseitigen. Leider bin ich da gerade steckengeblieben und der Debugger macht komische Sachen. Ich habe versucht dieses Problem testweise zu beheben: ![]() Dazu habe ich den als Konsolenprogramm dort vorhandenen Demo Code in ein wirkliches Rio 10.3.1 Konsolenprogramm gepackt und ja, er zeigt den Fehler an. Ich habe natürlich ein ReadLn am Ende ergänzt. Danach habe ich die JclQueues.pas meiner regulären JCL Installation wie folgt geändert:
Delphi-Quellcode:
Und natürlich habe ich das im protected Abschnitt der entsprechenden Klasse diese Methode als
procedure TJclUnicodeStrQueue.AutoGrow;
begin if FHead > FTail then SetCapacity(CalcGrowCapacity(FCapacity, FCapacity - FHead + FTail + 1)) // looped else SetCapacity(CalcGrowCapacity(FCapacity, FTail - FHead + 1)); end; override deklariert. Dann habe ich auf das if in AutoGrow einen breakpoint gesetzt und das Konsolenprogramm neu compiliert und ausgeführt. Was tut es nun? 1. es hält erstmal nicht an dem Breakpoint sondern gibt beide Fehlermeldungszeilen aus 2. drücke ich Enter, springt er in meinen Breakpoint, führt angeblich den Code im if aus, obwohl angeblich beide verglichenen Variablen 0 enthalten, also die erste nicht größer als die zweite ist 3. single steppe ich weiter, geht er in jede Zeile auch die Leerzeile nach der AutoGrow Methode, nach dieser Leerzeile biegt er ab nach JclSynch.pas TJclMultiReadExclusiveWrite.BeginWrite; Warum tut der Debugger das? Wie packe ich das richtig an, damit ich den Fix mal testen kann? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 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