Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Debuggen-Problem (https://www.delphipraxis.net/99186-debuggen-problem.html)

Quake 8. Sep 2007 09:16


Debuggen-Problem
 
Hallo,

Kann mir das mal jemand bitte erklären?

Delphi-Quellcode:
begin
  variable := 15;
  while (variable > 0) do // 1. Breakpoint hier
  begin
    beep;                 // 2. Breakpoint hier
    .
    .
    .
Das ist der Anfang meiner Funktion. Warum wird die Ausführung des Programms zu erst bei 2. Breakpoint angehalten, und erst wenn die Schleife einen Durchgang durchlaufen hat, hält das Programm am Breakpoint 1 an.

PS.: Ich benutze Delphi 7.

jfheins 8. Sep 2007 09:31

Re: Debuggen-Problem
 
Mach mal ein {O-} vor den Block ;)

Oder hastdu die Compileroptimierung schon aus ?

Hawkeye219 8. Sep 2007 09:31

Re: Debuggen-Problem
 
Hallo,

Zitat:

Zitat von Quake
Kann mir das mal jemand bitte erklären?

Du hast wahrscheinlich bei den Compiler-Optionen die Optimierung nicht ausgeschaltet. Somit gibt es nicht zwingend zu jeder PASCAL-Anweisung auch einen zugehörigen Assembler-Befehl, an dem der Debugger anhalten könnte.

Gruß Hawkeye

dominikkv 8. Sep 2007 11:10

Re: Debuggen-Problem
 
der compiler erkennt das der ausdruck das erstemal immer true ist, es wäre also unnötig nochmal während der laufzeit zu prüfen.

dh hier wird das erstemal nicht geprüft:
Delphi-Quellcode:
while true do
  beep;
und das hier wird nichteinmal compiliert:
Delphi-Quellcode:
while false do
  beep;


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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