Delphi App has "No Debug Info" when Debugging

We have encountered a similar issue in our project. Unfortunately we have dozens of bpl so we cannot merge them in one. This issue appeared after we migrated to XE2 and changed the folder structure of our compile target. While it is difficult to say if newer versions of Delphi introduced the issue or not, we could fix the issue by adding the folder where the bpls are compiled in the path environment variable. Using the path override function of the IDE. This type of configuration was not necessary in Delphi 2010...


This non-official tool fixes many issues with Delphi. It fixed the module loading without debug info for me. All the credits to magicandre1981.


You have to build your separate packages with debug info, and you will eventually want to build them without debug also - so you will have both in 2 spots. Then you want to build your app project with debug info. Check your paths to ensure that you are including the debug-enabled package source in your debug project builds. It sounds like you may be including packages that were built without debug because you are including from the wrong source. You have to make sure you don't have both paths included, leaving Delphi to select what to include if it finds the same package in two places.


I would describe my issue with it.

I dynamically load package using LoadPackage function.

I can see in SysInternals.com Process Monitor that packagename.DCP got open and read succesfuly after LoadPackage processed - no file I/O failed, no attempt to find it in wrong places, nothing suspicious. So perhaps there is some construct in DCP that makes IDE debugger go nuts. I long for times when Turbo Debugger was available for Delphi.

BTW, same is for packagename.RSM if developer creates such.

Then (while paused at breakpoint or Step Trace) i open View / Debug Windows / Modules and see last module is mine - and it has empty "symbol information" cell. I right-click it, choose "Re-load symbols" action - and here it is, from now on i can debug.

PS. Dunno if that would help me to debug initialization sections though - hopefully "break on load" menu item would work even with dynamical LoadPackage calls...

PPS. It does work indeed, even across IDE restarts. So now i am alerted at BPL loading with CPU View, i strike CTRL+ALT+M, scroll to bottom to find my BPL, r-click to Reload Symbols, press Enter, then close Modules and CPU Views and strike F9 (Run). After initialization sections completes i am again alerted by CPU View - just few JMPs before exit out of LoadPackage - so i close CPU View and stike F9 yet again. Quite tedious, yet still better than IDE restart.