我是使用C#和Delphi 2006代码的产品的升级工程师。
在大多数情况下,使用WinDbg调试C#问题,使用EurekaLog调查Delphi 2006问题。
但是当问题是Delphi内存使用时,EurekaLog没有提供足够的信息来解决这个问题,而我调试它的唯一方法就是完整的内存转储文件。
我不能(或者我不知道如何)在WinDbg中加载符号文件,因为它是.map
文件而不是.pdb
文件。
所以我的问题是:
如何在WinDbg中加载.map文件中的符号? (将.map
转换为.pdb
或其他。)
是否有工具来分析Delphi应用程序的转储文件?
答案 0 :(得分:17)
要从地图转换为Dbg符号:
- 从http://code.google.com/p/map2dbg/获取Map2Dbg.exe
- 将Map2dbg放在与YourApp.exe及其映射文件
相同的文件夹中
- 执行:map2dbg.exe YourApp.exe
您应该获得一个与Microsoft工具一起使用的YourApp.dbg文件....
答案 1 :(得分:3)
除了tds2pdb(参见我对map2dbg的评论)你还可以在Delphi程序上使用我的minidump查看器: https://github.com/andremussche/asmprofiler/blob/master/Source/MiniDumpReader/ViewMinidump.exe
然后你不需要转换为.dbg或.pdb,但它直接读取各种Delphi调试文件(.map,.tds / .td32和j.dbg)。
答案 2 :(得分:1)