我是否可以从Process Explorer可以使用的Delphi应用程序中发出调试符号?

我是否可以从Process Explorer可以使用的Delphi应用程序中发出调试符号?,delphi,debugging,winapi,Delphi,Debugging,Winapi,我正在调查用Delphi2010编写的应用程序的性能问题。Delphi是否发出可以在查看当前运行的线程时使用的符号,以便我可以查看函数名 我已经屏蔽了可执行文件的名称,但您可以看到它只提供了函数的内存地址,如果可能的话,我希望得到解析后的函数名(就像我使用MS symbol服务器时使用的ole32.dll和ntdll.dll一样) 我知道这是可以做到的…可以用Delphi应用程序和Process Explorer做到吗 是的,您需要做的是确保使用调试信息编译项目,并且链接器发出详细的映射文件(项

我正在调查用Delphi2010编写的应用程序的性能问题。Delphi是否发出可以在查看当前运行的线程时使用的符号,以便我可以查看函数名

我已经屏蔽了可执行文件的名称,但您可以看到它只提供了函数的内存地址,如果可能的话,我希望得到解析后的函数名(就像我使用MS symbol服务器时使用的ole32.dll和ntdll.dll一样)

我知道这是可以做到的…可以用Delphi应用程序和Process Explorer做到吗


是的,您需要做的是确保使用调试信息编译项目,并且链接器发出详细的映射文件(项目链接选项)。不确定,但您可能还必须检查链接器选项上的“包含远程调试符号”

当您拥有该功能时,可以使用实用程序将映射转换为ProcessExplorer使用的dbg格式

每当我们需要在一个测试服务器上的挂起线程上获取堆栈跟踪时,我们都会在工作时这样做


我们使用的Map2Dbg实用程序:

+1我不知道这一点,并且会发现它非常有用,当然不是因为我的软件曾经挂起过!!;-)@大卫·费弗南:当然不是,我们的也不是:-)它没有挂起来,它只是停下来思考!Delphi现在支持反射,以及RTTI?@Martin no,Delphi中的运行时类型信息(RTTI)只是为其他语言中所谓的反射(或内省)提供数据参见