Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Debuggen...const parameter ändern... (https://www.delphipraxis.net/185341-debuggen-const-parameter-aendern.html)

noisy_master 2. Jun 2015 07:31

Debuggen...const parameter ändern...
 
Hallo Gemeinde,

heute mal was ganz anderes und ganz dringendes: wie kann ich während des Debuggens einen CONST(!!) Parameter einer Funktion ändern(Fehlersuche-Auswerten/Ändern funzt net..) Ist Delphi2006.

(ja ich weiss, ich kann im code ändern... geht aber nicht, da ich gerade das Ergebnis eines 18 Stunden Laufes wegspeichern will, mich beim Filename aber vertan habe und dieser als const übergeben wird... muss jetzt also run-time im Speicher geändert werden... weiss aber leider nicht wie)

Danke schon mal im voraus

uligerhardt 2. Jun 2015 07:51

AW: Debuggen...const parameter ändern...
 
Zitat:

Zitat von noisy_master (Beitrag 1303849)
Hallo Gemeinde,

heute mal was ganz anderes und ganz dringendes: wie kann ich während des Debuggens einen CONST(!!) Parameter einer Funktion ändern(Fehlersuche-Auswerten/Ändern funzt net..) Ist Delphi2006.

(ja ich weiss, ich kann im code ändern... geht aber nicht, da ich gerade das Ergebnis eines 18 Stunden Laufes wegspeichern will, mich beim Filename aber vertan habe und dieser als const übergeben wird... muss jetzt also run-time im Speicher geändert werden... weiss aber leider nicht wie)

Danke schon mal im voraus

Wenn du mit Debug-DCUs kompiliert hast, kannst du in SaveToFile & Co hineinsteppen und vielleicht dort den Namen anpassen. Oder du probierst den Ändern/Auswerten-Dialog (Strg-F7). Dort kannst du auch Ausdrücke a la
Delphi-Quellcode:
bmp.SaveToFile('MyFile.bmp')
eingeben.

noisy_master 2. Jun 2015 08:03

AW: Debuggen...const parameter ändern...
 
Ändern/Auswerten funktioniert wie schon gesagt mit einem CONST(!!) Parameter nicht...

Aber ich habe es jetzt gefunden: mit Fehlersuche-Untersuchen bekomme ich die Adresse des Parameters. Nun Flugs ins Memory Window, gehe zu Adresse(die man eben gesehen hat) und nun sieht man im ASCII Teil des Mem Windows seinen gesuchten String...Da war ich auch schon vorher, aber was mich daran verwundert hat: Wieso steht der String "rückwärts" im Speicher?

uligerhardt 2. Jun 2015 08:35

AW: Debuggen...const parameter ändern...
 
Zitat:

Zitat von noisy_master (Beitrag 1303855)
Ändern/Auswerten funktioniert wie schon gesagt mit einem CONST(!!) Parameter nicht...

Lies meinen Post nochmal. Da steht nicht, dass du in dem Dialog den Dateinamen ändern sollst. :mrgreen:

Stevie 2. Jun 2015 08:42

AW: Debuggen...const parameter ändern...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Einfach nen bisschen tricksen :)

noisy_master 2. Jun 2015 08:44

AW: Debuggen...const parameter ändern...
 
@ Uli:

Na gut: Wer lesen kann ist klar im Vorteil...Werde ich mal ausprobieren.

Das mit dem Casten ist auch sehr interessant.. werde ich auch mal testen!


Aber wieso steht der String "rückwärts" im Speicher? Das der Stack an sich "rückwärts" aufgebaut ist ist schon klar, aber Strings rückwärts??

SMO 3. Jun 2015 14:13

AW: Debuggen...const parameter ändern...
 
Zitat:

Zitat von noisy_master (Beitrag 1303859)
Aber wieso steht der String "rückwärts" im Speicher? Das der Stack an sich "rückwärts" aufgebaut ist ist schon klar, aber Strings rückwärts??

Kannst du das erläutern, vielleicht mit einem Screenshot? Rückwärts bedeutet für mich aus "Hallo Welt" wird "tleW ollaH", und so stehen Delphi-Strings wirklich nicht im Speicher.


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