![]() |
[D2006] Bug im Optimizer?
Hi
Gestern bin ich beim Programmieren auf glaube ich einen Bug im Optimizer gestossen. Heute habe ich ihn mit "einfacheren" Code reproduzieren können.
Delphi-Quellcode:
Man sieht dies gut, weil kein blauer Punkt auf der Seite von exit auftaucht. Man kann dort auch keinen Haltepunkt setzten. Das beste an der Sache ist aber das es trotzdem funktioniert!
procedure TForm1.BitBtn1Click(Sender: TObject);
var txt : String; begin txt := 'LALA'; if txt = 'LALA' then begin exit; end; ShowMessage('LALA'); end; Wenn ich vor dem exit z.b. einen sleep(0) befehl einfüge dann werden plötzlich die blauen punkte auf der Seite angezeigt und ich kann auf das exit auch debuggen. Könnt ihr das auch reproduzieren? |
Re: [D2006] Bug im Optimizer?
Liste der Anhänge anzeigen (Anzahl: 1)
Die Codeoptimierung hat nur den Verglech "umgedreht", das Jump vom Exit wegoptimiert und das Jump vom If-Then dafür mißbraucht ... heißt, das EXIT ist jetzt für den Debugger in der selben Zeile wie If-Then und hat daher keinen eigenen Haltepunkt.
|
Re: [D2006] Bug im Optimizer?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 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