AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

Ein Thema von bytecook · begonnen am 12. Okt 2017 · letzter Beitrag vom 12. Okt 2017
Antwort Antwort
Benutzerbild von bytecook
bytecook

Registriert seit: 6. Aug 2010
Ort: Dornbirn
151 Beiträge
 
Delphi 11 Alexandria
 
#1

Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

  Alt 12. Okt 2017, 12:28
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;
(******************************************************************************)
Miniaturansicht angehängter Grafiken
debug.jpg  
Peter
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.

Geändert von bytecook (12. Okt 2017 um 12:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

  Alt 12. Okt 2017, 12:29
Starte Delphi einfach neu, hier hat sich der Debugger einfach komplett verfahren. Das passiert hin und wieder.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

  Alt 12. Okt 2017, 12:37
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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (12. Okt 2017 um 12:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von bytecook
bytecook

Registriert seit: 6. Aug 2010
Ort: Dornbirn
151 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

  Alt 12. Okt 2017, 12:39
Starte Delphi einfach neu, hier hat sich der Debugger einfach komplett verfahren. Das passiert hin und wieder.

......
Hallo Sakura,

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.
Peter
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.
  Mit Zitat antworten Zitat
Benutzerbild von bytecook
bytecook

Registriert seit: 6. Aug 2010
Ort: Dornbirn
151 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

  Alt 12. Okt 2017, 12:42
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)
* oder Anderes
Hallo Himitsu,

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!
Peter
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#6

AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

  Alt 12. Okt 2017, 12:43
* komische Zeichen im Code (manchmal passiert es, dass der Compiler Zeilenumbrüche nicht richtig erkennt und dann falsch zählt)
Der ist auf jeden Fall interessant. Kann zB durch kopieren aus Webseiten passieren.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

  Alt 12. Okt 2017, 12:58
Die Unit in Notepad++ öffnen und per Bearbeiten -> Format Zeilenende mal auf Unix/Mac stellen und dann zurück auf Windows und abspeichern.
  Mit Zitat antworten Zitat
Benutzerbild von bytecook
bytecook

Registriert seit: 6. Aug 2010
Ort: Dornbirn
151 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

  Alt 12. Okt 2017, 13:49
Die Unit in Notepad++ öffnen und per Bearbeiten -> Format Zeilenende mal auf Unix/Mac stellen und dann zurück auf Windows und abspeichern.
Ja, das hat geholfen, vielen Dank an alle.

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
Peter
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#9

AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

  Alt 12. Okt 2017, 15:35
Die einfachere Lösung für das "Sonderzeichen Problem" ist einfach den eingebauten Formatter zu benutzen. Das macht man ja ohnehin regelmäßig...

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von bytecook
bytecook

Registriert seit: 6. Aug 2010
Ort: Dornbirn
151 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Probleme beim Debuggen - hat ggf jemand eine Erklärung für mich?

  Alt 12. Okt 2017, 16:33
Die einfachere Lösung für das "Sonderzeichen Problem" ist einfach den eingebauten Formatter zu benutzen. Das macht man ja ohnehin regelmäßig...

Sherlock
Nur wenn man mit dem verwendeten Format was anfangen kann.Ich konnte den bis heute nicht dazu bringen, unsere Formatiergewohnheiten zu übernehmen.
Wenn mal wieder mehr Zeit dafür ist, also gefühlt so um 2078 rum, probieren wir es damit nochmal...
Peter
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.
  Mit Zitat antworten Zitat
Antwort Antwort


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 15: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