How to analyze a dump file from a Delphi DLL file?
Asked Answered
M

3

19

I'm an escalation engineer on a product which use both C# and Delphi 2006 code.

In most cases C# issues are debugged with WinDbg and Delphi 2006 issues with EurekaLog.

But when the issue is a Delphi memory usage, EurekaLog doesn't give enough information to fix the issue, and the only thing I have for debug it is a full memory dump file.

I cannot (or I don't know how to) load the symbol file in WinDbg, because it is a .map file and not a .pdb file.

So my questions are:

  • How do I load the symbols from a .map file in WinDbg? (Converting .map to .pdb or other.)

  • Is there a tool to analyze the dump file for a Delphi application?

Marianomaribel answered 6/8, 2009 at 9:58 Comment(0)
B
17

To convert from Map to Dbg symbols:
- Get Map2Dbg.exe from http://code.google.com/p/map2dbg/
- Put Map2dbg in the same folder as YourApp.exe and its map file
- Execute: map2dbg.exe YourApp.exe

You should get a YourApp.dbg file to use with Microsoft tools….

Brashy answered 6/8, 2009 at 18:4 Comment(1)
Newer version of WinDbg work better (or only?) with PDB files, on the same map2dbg project is tds2pdb located: code.google.com/p/map2dbg/downloads/detail?name=tds2pdb102.zipBoloney
G
4

Besides tds2pdb (see my comment on map2dbg) you can also use my minidump viewer on Delphi programs:

https://github.com/andremussche/asmprofiler/blob/master/Source/MiniDumpReader/ViewMinidump.exe.

https://github.com/andremussche/asmprofiler/blob/master/Releases/ViewMinidump.exe

Then you don't need to convert to .dbg or to .pdb, but it directly reads various Delphi debug files (.map, .tds/.td32, and j.dbg).

Gynecic answered 13/6, 2012 at 11:15 Comment(1)
Your link to ViewMinidump.exe produces a 404.Cassandry
A
1

The latest version of cv2pdb tool can convert the DBGs made with map2dbg into PDB files.

So, if you've previously made your DBGs like this: map2dbg App.exe

Just add this command afterwards: cv2pdb -s. App.exe

-s. parameter is necessary to separate the method names from the class names with a point.

cv2pdb built for Win32 on the current sources can to downloaded from here.

Appurtenant answered 1/4, 2018 at 4:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.