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
Seite 1 von 2  1 2      
Der schöne Günther

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

Tool um aus Adressen Sourcecode-Stellen zu machen?

  Alt 24. Nov 2015, 13: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.295 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 24. Nov 2015, 13: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.123 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 24. Nov 2015, 14: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.070 Beiträge
 
Delphi 10.4 Sydney
 
#4

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

  Alt 24. Nov 2015, 15: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.144 Beiträge
 
Delphi 10.3 Rio
 
#5

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

  Alt 24. Nov 2015, 16: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.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

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

  Alt 24. Nov 2015, 17: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
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

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

  Alt 24. Nov 2015, 18:32
Der Vorschlag mit dem Verschlüsseln ist - sorry - echt ma

Ob der Kunde die Methodennamen sieht oder nicht, liegt daran, ob du die Mapfile, oder td32 oder jdbg mit in deine Binary packst.

Ich weiß nicht, wie es mit Jedi geht (geht aber bestimmt), aber madExcept hat ein Tool, um aus einem reinen Callstack mit Addressen unter Zuhilfename der map files (die du natürlich für ausgelieferte Versionen bei dir speichern musst) das wieder auflöst.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

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

  Alt 24. Nov 2015, 18:45
Warum alles so umständlich ? Wenn das Tool etwas kosten darf, dann kann ich EurekaLog empfehlen. Das Tool liefert Dir alles was Du brauchst und Du kannst die Meldungen per Mail verschicken, in verschiedene Bugtracker eintragen lassen oder aber per FTP die Fehlerprotokolle auf einen Server hochladen. Einfacher geht es doch wirklich nicht.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Der schöne Günther

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

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

  Alt 24. Nov 2015, 18:48
Eben. Genau das hätte ich bei den Jedis auch erwartet, aber nichts gefunden. Denn was in diesem JDBG-Binärdatei eigentlich drinsteht habe ich keine Ahnung.

Die MAP-Files "aufzuheben" ist an sich kein Problem- Dachte ich. Ich stelle einfach den Code der passenden Version wieder her. Im Nachhinein fällt mir dann wieder auf dass man seine ganze Delphi-IDE auch wieder genauso installieren muss. Wenn fünf Jahre später man den TeeChart-Nachnachnachnachfolger drauf hat ergeben sich im Kompilat dann natürlich wieder andere Adressen.

Kurz und gut: Es war eine Schnapsidee, ich lasse es wohl bleiben.

Warum alles so umständlich ? Wenn das Tool etwas kosten darf, dann kann ich EurekaLog empfehlen.
Das ist bestimmt toll, keine Frage. Aber die Logs auf Stick speichern bzw. auf FTP hochladen habe ich auch, das war ja keine Arbeit. Abseits weiß ich von nichts was mit Eurekalog dann anders wäre.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#10

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

  Alt 24. Nov 2015, 18:58
Das Eurekalog kann ja nicht nur den FTP-Upload sondern noch einiges mehr, schau Dir mal die Feature Matrix an : Link. Ich habe den in zwei ehemaligen Projekten erfolgreich eingesetzt. Ein Vorteil, der mir in vielen Fällen geholfen hat, war der Screenshot des gesamten Bildschirms, bevor die Fehlermeldung angezeigt wurde. Dann hat man ein paar Fakten in der Hand, ob vielleicht der Anwender einen Bedienungsfehler gemacht hat oder ob man beim Programmieren etwas vergessen hat abzufangen (z.B. Buchstaben statt Zahlen)
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:57 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