AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DelphiXE5 Aufruf-Stack

Ein Thema von hoffst · begonnen am 1. Jul 2014 · letzter Beitrag vom 2. Jul 2014
Antwort Antwort
hoffst

Registriert seit: 15. Jun 2012
1 Beiträge
 
#1

DelphiXE5 Aufruf-Stack

  Alt 1. Jul 2014, 20:09
Wenn ich auf einen Eintrag im Fenster Aufruf-Stack doppelklicke, wird der Quelltext nicht angezeigt.
Stattdessen kommt ein Fenster mit Assembler-Code.
Im Fenster Aufruf-Stack sehen die Einträge folgendermaßen aus :06833ccd TMyClass.acMyActionExecute + $11.
Also wurde ein Stackframe erzeugt und die Referenz-Infos sind vorhanden. Es handelt sich um eine BPL, die mit Debug-Infos geladen wurde.
Welche Einstellungen sind generell vorzunehmen, dass der Quelltext zum Stack angezeigt wird?
Zur Info: Ich habe das Projekt von Delphi XE übernommen, dort hat Alles noch funktioniert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: DelphiXE5 Aufruf-Stack

  Alt 1. Jul 2014, 21:13
Es gibt eigentlich keine Einstellungen.

Wenn eine Zieladresse (egal ob vom Stackstrace, Haltepunkt, F7 oder F8) so aufgelöst werden kann, daß der Debugger damit den "Anfang" der Befehle trifft, welche mit einer Zeilennummer verknüpft wurden, und dazu auch noch die richtigen Debuginfos (mit den Zeilennummern) gefunden/geladen wurden und auch noch die Unit gefunden wurde, dann wird zum Quellcode gesprungen.
Aber wenn das nicht klappt, dann kann der Debugger eben nur die CPU-Ansicht aufmachen, da er die Codestelle nicht zuordnen konnte.

Ach ja, der Callstack zeigt zufällig immer auf die Rücksprungadresse und manchmal schafft es da der Debugger nicht, den Anfang des Befehls zuzuordnen, vorallem wenn die Befehle der Codezeile noch nicht zu Ende sind.


PS: Das + $11 zeigt dir, daß hier keine Code-Zeile zugeordnet werden konnte.
Die zugehörige Codeadresse ist hier 17 Byte nach der im Stacktace genannten "Code-Zeile", bzw. 17 Byte ab dem Einspungpunkt der genannten Methode.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 1. Jul 2014 um 21:17 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: DelphiXE5 Aufruf-Stack

  Alt 2. Jul 2014, 08:47
Ich habe es allerdings (XE5) auch manchmal, dass er in das Assembler-Fenster springt obwohl eigentlich überhaupt kein Grund dazu da ist. Doppelklickt man wieder auf die oberste Zeile im Stacktrace-Fenster ist man wieder im Quelltext.
  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 18:32 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