AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Tool um aus Adressen Sourcecode-Stellen zu machen?
Thema durchsuchen
Ansicht
Themen-Optionen

Tool um aus Adressen Sourcecode-Stellen zu machen?

Offene Frage von "Der schöne Günther"
Ein Thema von Der schöne Günther · begonnen am 24. Nov 2015 · letzter Beitrag vom 25. Nov 2015
Antwort Antwort
Der schöne Günther

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

Tool um aus Adressen Sourcecode-Stellen zu machen?

  Alt 24. Nov 2015, 12:21
Dämlich formulierter Titel, wie immer bei mir.

Folgendes: Ein Programm protokolliert Exceptions mit seinem Aufruckstack in einem Logfile. Sieht beispielsweise so aus:

Code:
From: Thread (#4704, TReferenceValuesFetcher)
2015-11-12T09:03:54.118+01:00
EProgrammerNotFound
'The programmer has gone home'
[00A934A9]{FluxCapacitorTest.exe} FluxCapacitor.Background.ReferenceValues.TReferenceValuesFetcher.checkTriple (Line 124, "FluxCapacitor.Background.ReferenceValues.pas")
[00A932AE]{FluxCapacitorTest.exe} FluxCapacitor.Background.ReferenceValues.TReferenceValuesFetcher.Execute (Line 92, "FluxCapacitor.Background.ReferenceValues.pas")
[004DDE85]{FluxCapacitorTest.exe} System.Classes.ThreadProc (Line 14161, "System.Classes.pas")
[00409B24]{FluxCapacitorTest.exe} System.ThreadWrapper (Line 23677, "System.pas")
Gemacht wird das mit den Jedis. Funktioniert an sich erstklassig.

Wo mir jetzt etwas mulmig wird ist dass ich zwar gerne direkt sehe, dass es in der Methode "checkTriple(..)" in Zeile 124 geknallt hat, aber der neugierige Kunde sollte nicht unbedingt die vollen Methodennamen und alles sehen können.

Am liebsten würde ich es nur so speichern:

Code:
From: Thread (#4704, TReferenceValuesFetcher)
2015-11-12T09:03:54.118+01:00
EProgrammerNotFound
'The programmer has gone home'
[00A934A9]
[00A932AE]
[004DDE85]
[00409B24]
Gibt es, in der Delphi-Welt, nun ein Tool was mir das "Nachschlagen" einer Adresse wie 00A934A9 zu Line 124, "FluxCapacitor.Background.ReferenceValues.pas" automatisieren kann?

Ja, ich kann mit F8 ein Programm starten, und sagen "Gehe zu ... Adresse" und $00A934A9 eingeben. Dann steht der Debugger in der jeweiligen Zeile. Aber das ist ja wirklich mühselig.
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.305 Beiträge
 
Delphi 12 Athens
 
#2

AW: Tool um aus Adressen Sourcecode-Stellen zu machen?

  Alt 24. Nov 2015, 12:58
Verschlüssel doch einfach das, was nicht gelesen werden darf:

Code:
From: Thread (#4704, TReferenceValuesFetcher)
2015-11-12T09:03:54.118+01:00
EProgrammerNotFound
'The programmer has gone home'
[00A934A9] fgdhksdpykfgsäezmkäökhxsgfihsdgfdfgjsertkj09aigw03gkü0w9tiq0gki09ih0ihj09w4i50w9i3450t9iq03ru98wu5t9wu5t9
[00A932AE] gjweoituj093ti0w9i45t029uiz09awiu45z0tuw506zuw095zu0wtreiuz0werit0q3i4t609wiu0ztiaq094eit
[004DDE85] 0w9it09eirfgskhpe6khpß0skgrpaq0wektß0kesthß0krß0tzhkperkhpwsk5hß0q3kgß0spkthß0erk6hßdkrßj0hkzß0e6kjß0wrktjhß
[00409B24] sreotgiw5itgwb495iz6,45izmne06i9zume0ß6zi9ezjködtjköärt7ki0prtrfojikzftrzjkörftäjkzäfpokzjäderkjätj
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#3

AW: Tool um aus Adressen Sourcecode-Stellen zu machen?

  Alt 24. Nov 2015, 13:16
Habe zwar keine Antwort auf deine Frage aber darf ich mal fragen, wie man bei einer Exception überhaupt an den entsprechenden Aufruckstack kommt, sodass ich den mitprotokollieren könnte? Oder geht das nur mit den von dir genannten JEDIs?

Grüße
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
TiGü

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

AW: Tool um aus Adressen Sourcecode-Stellen zu machen?

  Alt 24. Nov 2015, 14:24
Habe zwar keine Antwort auf deine Frage aber darf ich mal fragen, wie man bei einer Exception überhaupt an den entsprechenden Aufruckstack kommt, sodass ich den mitprotokollieren könnte? Oder geht das nur mit den von dir genannten JEDIs?
Schau mal hier:
http://stackoverflow.com/a/2337111

@Günni: Einfach Textfile "verschlüsseln" wie bernau sagt.
Reicht ja der schnellste und einfachste Verschlüsslungsalgorithmus.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Tool um aus Adressen Sourcecode-Stellen zu machen?

  Alt 24. Nov 2015, 15:54
Du must ja für den Stacktrace den MapFile mit liefern - oder die komprimierte Variante davon...

Tausche doch einfach vorher die Texte gegen Token aus, die Du dann für Dich wieder umsetzen kannst...

Mavarik
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: Tool um aus Adressen Sourcecode-Stellen zu machen?

  Alt 24. Nov 2015, 16:55
Meinst du mit "Token" dass ich ein Wörterbuch aufbaue und somit vor dem Ausliefern im MAP-File beispielsweise "TFluxCapacitor" durch "Nudelholz" usw. ersetze?

Ein dummes ROT oder Base-Encoding für den String dahinter ist natürlich auch eine Idee. Hoffe ich nur dass der Kunde nicht neugierig und schlau ist

Oder geht das nur mit den von dir genannten JEDIs?
Ja. Gibt auch andere kommerzielle Produkte, ich höre hier immer von "madExcept". Ist bestimmt gut, aber mir blieben schon bei den Jedis keine Wünsche mehr offen

(Finde ich nur komisch dass Embarcadero selbst da überhaupt nichts anbietet. Wie speichert man auf Mac OS, iOS und Android eigentlich seinen Callstack?)
  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 14:33 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