0

I have an EXE produced by the D2006 compiler and associated RSM and MAP files in the same folder as the EXE. The files are local to the machine Delphi is installed on. I can start the IDE and "Load Process" the EXE and run it but I can't see any symbolic information if I pause execution.

What do I have to do to see procedure names, etc as labels in the disassembly, and be able to 'GoTo' an address by specifying the routine name?

If I have the source available in the same folder, can I do high-level stepping, etc?

RRUZ
  • 134,889
  • 20
  • 356
  • 483
rossmcm
  • 5,493
  • 10
  • 55
  • 118
  • AFAIK, this won't work. Delphi uses debug info located in the .dcu files to debug. You might be able to do it using "Remote Debugging" with the .rsm symbols, but not by loading the process directly through the IDE's debugger, and I think you still need the .dcu files locally to do it using the remote debugger. You have the application's source code (you said "source available in the same folder"). Why not load the project in the IDE and debug as normal? – Ken White Nov 09 '11 at 19:17
  • Thanks @Ken. When I deploy an executable and save the executable, MAP and RSM files, and source set at that time. If I get an error in a previous build in the field, I figured I could restore that file set to a temporary folder, load the EXE and use the IDE to debug the code at the source level. What you are saying is that I would need to save the DCU files also. While I could load that file set in the IDE and debug it, I would have the problem that some of the library routines used will have "moved on". Maybe the answer is to use the remote debugger instead (which I have never used). – rossmcm Nov 09 '11 at 20:19
  • and yes, I know that a version control system would let me do this.... – rossmcm Nov 09 '11 at 20:20

1 Answers1

0

To debug my delphi apps I use madExcept, is a very nice tool, and easy to setup for your projects, here go some info about it.

"madExcept was built to help you locating crashes in your software. Whenever there's a crash/exception in your program, madExcept will automatically catch it, analyze it, collect lots of useful information, and give the end user the possibility to send you a full bug report."

http://madshi.net/madExceptDescription.htm

Givius
  • 1,008
  • 8
  • 12
  • This doesn't answer the question asked, which is how to debug an *already built executable*. madExcept is an exception handling product, but has to be compiled into the application in the first place. It's not a *debugger*, and doesn't do remote symbol debugging. (It is a fantastic exception handling package, however.) Please read the question again. If you want to recommend madExcept, it should be as a comment to the original question instead; it's not an answer. – Ken White Dec 08 '11 at 18:42