Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Map/Debug-Files für Windows-System-DLL's (https://www.delphipraxis.net/159435-map-debug-files-fuer-windows-system-dlls.html)

Bernhard Geyer 28. Mär 2011 09:59

Map/Debug-Files für Windows-System-DLL's
 
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.

himitsu 28. Mär 2011 10:14

AW: Map/Debug-Files für Windows-System-DLL's
 
Bei soeinem Staatsgeheimnis, wie die um ihre Quellcodes machen ... da werden die vermutlich nicht jedem ihre Debuginfos offenlegen. :stupid:

In den ersten 64 KB (bis $0000ffff) wird aber vermutlich/bestimmt eh kein Programmcode rumgammeln.
Hmm, auf was ist denn das Offset bezogen?

sx2008 28. Mär 2011 10:50

AW: Map/Debug-Files für Windows-System-DLL's
 
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...

Bernhard Geyer 28. Mär 2011 11:19

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

Zitat von himitsu (Beitrag 1091488)
Bei soeinem Staatsgeheimnis, wie die um ihre Quellcodes machen ... da werden die vermutlich nicht jedem ihre Debuginfos offenlegen. :stupid:

Es reicht ja zu wissen an welchen Adressen die Einsprungspunkte liegen. Was Quellcodetechnisch dahinter liegt ist für den ersten Schritt nicht nötig.

Zitat:

Zitat von himitsu (Beitrag 1091488)
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.


Zitat:

Zitat von sx2008 (Beitrag 1091495)
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.

Bernhard Geyer 28. Mär 2011 11:26

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

Zitat von sx2008 (Beitrag 1091495)

Grrr. Sehe gerade das für diesen Fall WinQual mir nicht sagen kann welche Windows eingesetzt wurde. :wall:
Liefert nur Info das es ein deutsches Windows war

Assarbad 29. Mär 2011 13:11

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

Zitat von Bernhard Geyer (Beitrag 1091505)
Grrr. Sehe gerade das für diesen Fall WinQual mir nicht sagen kann welche Windows eingesetzt wurde. :wall:
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 :mrgreen:

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

Zitat:

Zitat von Bernhard Geyer (Beitrag 1091501)
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.

Bernhard Geyer 29. Mär 2011 14:41

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

Zitat von Assarbad (Beitrag 1091729)
Und dann viel Spaß aus den delphiseitigen Debuginfos Sinn herauszukitzeln :mrgreen:

Dazu gibt's ein Tool das heißt map2dbg. Die macht das in "0,Nix".:thumb:

Zitat:

Zitat von Assarbad (Beitrag 1091729)
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.

Assarbad 29. Mär 2011 16:27

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

Zitat von Bernhard Geyer (Beitrag 1091757)
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.

Zitat:

Zitat von Bernhard Geyer (Beitrag 1091757)
Zitat:

Zitat von Assarbad (Beitrag 1091729)
Und dann viel Spaß aus den delphiseitigen Debuginfos Sinn herauszukitzeln :mrgreen:

Dazu gibt's ein Tool das heißt map2dbg. Die macht das in "0,Nix".:thumb:

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 :)).


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 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