AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Map/Debug-Files für Windows-System-DLL's
Thema durchsuchen
Ansicht
Themen-Optionen

Map/Debug-Files für Windows-System-DLL's

Ein Thema von Bernhard Geyer · begonnen am 28. Mär 2011 · letzter Beitrag vom 29. Mär 2011
Antwort Antwort
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#1

Map/Debug-Files für Windows-System-DLL's

  Alt 28. Mär 2011, 10:59
Stellt MS eigentlich Debug/Mappingangaben für die System-DLL's bereit?
Hab hier einen Anwendungsabsturz über WinQual gemeldet und dort habe ich nur die Info das der Absturz in kernelbase.dll mit dem Offset 0xb727 erfolgte. Und jetzt wäre es schön zu wissen welche API-Funktion gerufen wurde um zu sehen ob hier weitere Untersuchung sinnvoll ist ohne weitere Infos zu haben.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Map/Debug-Files für Windows-System-DLL's

  Alt 28. Mär 2011, 11:14
Bei soeinem Staatsgeheimnis, wie die um ihre Quellcodes machen ... da werden die vermutlich nicht jedem ihre Debuginfos offenlegen.

In den ersten 64 KB (bis $0000ffff) wird aber vermutlich/bestimmt eh kein Programmcode rumgammeln.
Hmm, auf was ist denn das Offset bezogen?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Map/Debug-Files für Windows-System-DLL's

  Alt 28. Mär 2011, 11:50
Windows Symbol Packages

PS: du könntest dein Programm auch mit TD32-Symbolen kompilieren und bei einer Exception einen Stacktrace ausgeben.
Die JCL bietet dazu die Unit JclDebug oder MadExcept verwenden.
Das hat mehr Nutzwert als zu wissen wo genau es in einer Windows System-DLL geknallt hat.
Natürlich muss der Anwender den Fehler mit deiner neuen EXE reproduzieren können...

Geändert von sx2008 (28. Mär 2011 um 11:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Map/Debug-Files für Windows-System-DLL's

  Alt 28. Mär 2011, 12:19
Bei soeinem Staatsgeheimnis, wie die um ihre Quellcodes machen ... da werden die vermutlich nicht jedem ihre Debuginfos offenlegen.
Es reicht ja zu wissen an welchen Adressen die Einsprungspunkte liegen. Was Quellcodetechnisch dahinter liegt ist für den ersten Schritt nicht nötig.

Hmm, auf was ist denn das Offset bezogen?
Müsste relativ zur Adresse sein an die die DLL letztendlich geladen wird. Was genaueres liefert mit WinQual nicht.


PS: du könntest dein Programm auch mit TD32-Symbolen kompilieren und bei einer Exception einen Stacktrace ausgeben.
Lieferung von Debug-Infos ist nicht möglich das ich nicht weis welcher Kunde es ist.
Infos werden über WinQual geliefert.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Map/Debug-Files für Windows-System-DLL's

  Alt 28. Mär 2011, 12:26
Grrr. Sehe gerade das für diesen Fall WinQual mir nicht sagen kann welche Windows eingesetzt wurde.
Liefert nur Info das es ein deutsches Windows war
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: Map/Debug-Files für Windows-System-DLL's

  Alt 29. Mär 2011, 14:11
Grrr. Sehe gerade das für diesen Fall WinQual mir nicht sagen kann welche Windows eingesetzt wurde.
Liefert nur Info das es ein deutsches Windows war
WinQual kann dir das vielleicht nicht sagen, WinDbg (liebevoll als "wind bag" ausgesprochen) hingegen schon.

Und dann viel Spaß aus den delphiseitigen Debuginfos Sinn herauszukitzeln

Und ja, MS stellt Debuginfos bereit, wenn auch seit Windows 2003 die Anzahl der nützlichen Details irgendwie nachläßt.

Lieferung von Debug-Infos ist nicht möglich das ich nicht weis welcher Kunde es ist.
Infos werden über WinQual geliefert.
Glückwunsch. Hast soeben herausgefunden wieso ich schon so lange danach schreie daß Delphi endlich PDBs ausspuckt.

Aber trotz Technologiewechsels im Rahmen der x64-Vorbereitungen ist davon nach wie vor nichts in Sicht.

Da hilft dann eventuelles Umsatteln.

Und bevor du jetzt meinst du würdest ja den Kunden nicht kennen. Nunja, das wäre irrelevant. Man speichert auf dem Symbolserver immer Binärdateien und PDBs zusammen und beide enthalten IDs anhand derer identifiziert werden kann um welches exakte Kompilat es sich handelt.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)

Geändert von Assarbad (29. Mär 2011 um 14:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Map/Debug-Files für Windows-System-DLL's

  Alt 29. Mär 2011, 15:41
Und dann viel Spaß aus den delphiseitigen Debuginfos Sinn herauszukitzeln
Dazu gibt's ein Tool das heißt map2dbg. Die macht das in "0,Nix".

Und bevor du jetzt meinst du würdest ja den Kunden nicht kennen. Nunja, das wäre irrelevant. Man speichert auf dem Symbolserver immer Binärdateien und PDBs zusammen und beide enthalten IDs anhand derer identifiziert werden kann um welches exakte Kompilat es sich handelt.
Mit aktuellen Versionen/Patches hab ich diese Dateien ( *.dbg) um bei genügend Infos auch den Aufrufstack zu bekommen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#8

AW: Map/Debug-Files für Windows-System-DLL's

  Alt 29. Mär 2011, 17:27
Mit aktuellen Versionen/Patches hab ich diese Dateien ( *.dbg) um bei genügend Infos auch den Aufrufstack zu bekommen.
Aah, das kenne ich. Einmal war ich bei einem Release im Urlaub und ein Kollege hat "vergessen" die Debuginfos zu speichern. Es war der Horror danach auf Fehlersuche zu gehen.

Und dann viel Spaß aus den delphiseitigen Debuginfos Sinn herauszukitzeln
Dazu gibt's ein Tool das heißt map2dbg. Die macht das in "0,Nix".
Kenne ich. Halte es aber nur für eine Krücke die eher schlecht als recht funktioniert. Aber vielleicht sollte ich es mal wieder probieren. Habe es vor 3 oder 4 Jahren zuletzt probiert. (Also wenn das dieses Tool von der Person mit dem slawisch klingenden Namen ist ).
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  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 10:42 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