我正在调查我用Delphi2010编写的应用程序的性能问题。在查看当前运行的线程时,Delphi是否会发出Process Explorer可以使用的符号,以便我可以看到函数名?
我已经屏蔽了我的可执行文件的名称,但是您可以看到它只给了我函数的内存地址,如果可能的话,我希望得到解析后的函数名称(就像我对ole32.dll和ntdll.dll所做的那样,因为我使用的是MS符号服务器)。
我知道这可以在Delphi ...can上完成,它可以用Delphi应用程序和进程资源管理器完成吗?
发布于 2012-01-15 00:06:03
是的,您需要做的是确保项目是使用调试信息编译的,并且链接器发出一个详细的映射文件(项目链接选项)。不确定,但您可能还必须选中链接器选项中的"include remote debug symbols“。
完成后,您可以使用实用程序将地图转换为ProcessExplorer使用的dbg格式。
每当我们需要在测试服务器上的挂起线程上获取堆栈跟踪时,我们都会这样做。
我们使用的Map2Dbg实用程序:https://github.com/andremussche/map2dbg
https://stackoverflow.com/questions/8863389
复制相似问题