I'm investigating a performance issue with my application written in Delphi 2010. Does Delphi emit symbols that Process Explorer can use when viewing the currently running threads so I can see the function names?
I've blocked out the name of my executable, but you can see it only gives me the memory address of the function, and I'd like to have the resolved function name if possible (like I have for ole32.dll and ntdll.dll because I am using the MS symbol server).
I know this can be done for VC++ applications and WinDbg...can it be done with Delphi applications and Process Explorer?
Yep, what you need to do is make sure the project is compiled with debug info and that the linker emits a detailed map file (project link options). Not sure, but you may also have to check the "include remote debug symbols" on the linker options.
When you have that, you can use a utility to convert the map to the dbg format that ProcessExplorer uses.
We do this at work whenever we need to get a stack trace on a hung thread on one of our testservers.
The Map2Dbg utility we use: https://github.com/andremussche/map2dbg
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With