![]() |
Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,
stehe heute vor einem seltsamen Problem. Vielleicht kann mir hier wer weiterhelfen. Ich debugge eine Unit meines Programmes (Delphi 10.2 Update 1), im Debugger werden Werte scheinbar "wegoptimiert", Haltepunkte werden "ausgegrünt" . Die Routine selbst ist im "Protected" Teil einer Klasse, weder inline noch virtual deklariert. Compilerflags in der Unit sind derzeit nicht gesetzt. Die Routine selbst liefert einen neuen Bezeichner für einen Stringpräfix zurück. Leider läuft diese Routine im Moment ins Leere, wie der angehängte Screenshot zeigt. Sowohl der Integer- als auch der Stringwert werden nicht gesetzt. Weiß jemand von euch, was es damit auf sich haben könnte?
Code:
(******************************************************************************)
function TSVFXLayoutManager.NewControlName (ANamePrefix : String) : String; var ATmpName : String; AId : Integer; begin (** Standardprefix setzen, falls ANamePrefix leer ist **) if ANamePrefix = '' then ANamePrefix := 'Control'; AId := 1; ATmpName := format('%s%d', [ANamePrefix, AId]); while Assigned(FindControlByName(ATmpName)) do begin Inc(AId); ATmpName := format('%s%d', [ANamePrefix, AId]); end; Result := ATmpName; end; (******************************************************************************) function TSVFXLayoutManager.FindControlByName (Const AName : String) : TSVFXVisualControl; var i : integer; begin Result := Nil; if fControls.Count > 0 then begin for i := 0 to pred(fControls.Count) do begin if AnsiUpperCase(TSVFXVisualControl(fControls[i]).Name) = AnsiUpperCase(AName) then begin Result := fControls[i]; Break; end; end; end; end; (******************************************************************************) |
AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Starte Delphi einfach neu, hier hat sich der Debugger einfach komplett verfahren. Das passiert hin und wieder.
...:cat:... |
AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Siehe links die blauen Punkte: Die Zeilen in der Debuginfo liegen 4 Zeilen weiter unten, als die zugehörigen Zeilen in der Unit.
mögliche Gründe: * Debugger dreht durch (siehe sakura) ... alles neu Erstellen und vorher eventuell alle DCUs löschen hilft auch manchmal (FullBuild anstatt Compile) * falsche PAS zum Compilat (EXE und/oder DCU) ... falsche Suchpfade? * komische Zeichen im Code (manchmal passiert es, dass der Compiler Zeilenumbrüche nicht richtig erkennt und dann falsch zählt) * ein Bug im Compiler/Linker/Debugger * oder Anderes |
AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Zitat:
leider hat weder ein Programm- sowie ein Systemneustart etwas gebracht. Das Problem blieb erhalten. Ich kann nur einen Breakpoint bei der Zeile "AId := 1;" setzen, beim Durchsteppen wird der Einser dem Integerwert jedoch nicht zugewiesen. Auch der String wird mittels Format nicht erzeugt. Hmmm, wirklich schräg. |
AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Zitat:
ich werde (noch)mal alle zugehörigen DCUs löschen, Suchpfade durchgehen, sowie auf gleichnamige PAS Dateien überprüfen. Danke für die Tipps an alle! |
AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Zitat:
...:cat:... |
AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Die Unit in Notepad++ öffnen und per Bearbeiten -> Format Zeilenende mal auf Unix/Mac stellen und dann zurück auf Windows und abspeichern.
|
AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Zitat:
Hatte jedenfalls vorher den Verdacht, dass ggf eine "falsche" Version zum Problem führte, und wäre selber nie auf die Idee mit NP++ gekommen. Vorab hatte ich noch folgenden Schritt versucht, um etwaige "Leichenverweise" ausschließen zu können: Kurzerhand in die geöffnete Unit eine neue Routine eingebaut, und diese versucht, aufzurufen. Die Routine führt einfach ein ShowMessage aus, das tat diese auch, aber einen Breakpoint konnte ich wieder nicht setzen. Das schloss aus, dass eine Kopie der Unit das Problem verursachte. Werde mal die vorher gesicherte Unit mit der "geunixten" Datei vergleichen, und dann auch alle übrigen Units untersuchen. Man weiß ja nie... Gruß, Peter |
AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Die einfachere Lösung für das "Sonderzeichen Problem" ist einfach den eingebauten Formatter zu benutzen. Das macht man ja ohnehin regelmäßig...
Sherlock |
AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Zitat:
Wenn mal wieder mehr Zeit dafür ist, also gefühlt so um 2078 rum, probieren wir es damit nochmal... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 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