AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Große Strings im Debugger

Ein Thema von Der schöne Günther · begonnen am 22. Jul 2022 · letzter Beitrag vom 24. Jul 2022
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.650 Beiträge
 
Delphi 12 Athens
 
#1

AW: Große Strings im Debugger

  Alt 22. Jul 2022, 13:58
Oder eine Methode schreiben, die einen String schreibt:
Sowas wie TFile.WriteAllText?

Dann kann man bei Auswerten/Ändern z.B. TFile.WriteAllText('c:\temp\dump.txt', MeinString) eingeben und auf Auswerten klicken. Dazu muss im aktuellen Scope dann aber auch System.IOUtils in der uses stehen.

Alternativ könnte man sich auch einen record helper for string schreiben mit einer CopyToClipboard Methode. Aber das ist wegen des Highlander Prinzips bei Helpern nicht so schön.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#2

AW: Große Strings im Debugger

  Alt 22. Jul 2022, 14:16
Jupp, wollte ich auch grade vorschlagen, da etwas schreiben zu lassen.

Nicht den Haken bei "Seiteneffekte zulassen" vergessen, bzw. diese Funktion standardmäßig in den IDE-Optionen aktivieren.


Aber das ist wegen des Highlander Prinzips bei Helpern nicht so schön.
Oftmals gab es aber das Problem, dass das Auswerten nicht von Helpern fand.

Und ich hatte da auch grade den anderen Fall.
Vom Highlander war nichts verfügbar, nur von dem was eigentlich vorher da war.
(lokaler Helper in der Implemtation ... lief jahrelang, bis jetzt ein Helper über die Uses rein kam und plötzlich war vom lokalen Helper nichts mehr nutzbar ... nichtmal Helper-Vererbung half)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
482 Beiträge
 
#3

AW: Große Strings im Debugger

  Alt 22. Jul 2022, 14:30
Ich weiß nicht, ob ich deine Frage richtig verstanden haben. Ich würde es einfach loggen. Mit mORMot geht es einfach. Das Limit z.B. für Log() kannst du selbst festlegen. Die Vorgabe ist MaxInt. Einfaches Beispiel:
Delphi-Quellcode:
var
  logFamily: TSynLogFamily;

begin
  logFamily := TSynLog.Family;
  logFamily.Level := LOG_VERBOSE;
  logFamily.PerThreadLog := ptIdentifiedInOneFile;
  logFamily.HighResolutionTimestamp := True;
  Application.Initialize;
  ...

uses
  mormot.core.base,
  mormot.core.buffers,
  mormot.core.unicode,
  mormot.core.log,
  mormot.crypt.core;

procedure TfrmMain.FormCreate(Sender: TObject);
var
  log: ISynLog;
  text: RawUtf8;
begin
  log := TSynLog.Enter(Self);
  text := BinToBase64(TAesPrng.Main.FillRandom(20 shl 20));
  log.Log(sllInfo, text);
end;
Bis bald...
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:48 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