Debugging info partially lost: this isn't the common 'blue dots' issue but something else. Can anyone help?

Debugging info partially lost: this isn't the common 'blue dots' issue but something else.  Can anyone help?

Yesterday and today I have an odd IDE problem.  I start a debug-build process.  Blue dots etc are there in the gutter, and I can place a breakpoint fine.  The IDE stops at the breakpoint... but instead of showing me the source code, it shows the CPU view.  Stepping etc works only in the CPU view, not the editor, and the Local Variables list is empty (and Eval/Modify etc similarly don't function). Despite the editor's debug info, the call stack window does not have blue dots next to the method name in the call stack.  So something isn't loading correctly.

This seems to happen only for some units, but when it does, it's consistent for those units.

When debug info gets out of sync with the editor (ie the common blue-dots problem), it usually means there's another unit with the same name on the path, out of date DCU files, etc.  Currently I'm working on the theory it's a similar problem just with different symptoms (remember the line number debug info is loaded and present - it's shown in the editor, and I can place breakpoints, and they fire - but when they fire, call stack entries do not show blue dots and the debugger seems unaware of the methods as debuggable entities and drops into the CPU window.)  I've tried all the obvious things: there are no other units with the same name; I've cleaned and removed files; I've rebuilt the project a dozen times; I've manually deleted the entire build output and rebuilt, in case cleaning was missing something; I've restarted the IDE; I've done everything I can think of. Previously, before I manually deleted all output, the output folder contained both .map and .rsm files. It now contains only the built DLL and .dcu files - however, correct, up-to-date line number debug info is loading from somewhere. I have not changed any configuration since it worked a few hours ago.

Interestingly, I can still step into and then line-by-line debug system RTL / VCL source in the editor, so that indicates it's something about my project. Also occasionally, and for no consistent reason I can spot, an entire unit of mine will have no debug info (blue dots) at all.

For bonus potential sources of the problem, I'm debugging Delphi itself, since the project is a plugin DLL. I'm using XE7.0. I've never seen this occur before though.

I can't think of anything else to try. Has anyone else seen the same thing? Any ideas?

Comments

  1. This came back today, and it's not a line endings issue.  I terminated my debugged process, added a couple of breakpoints and disable some others, and next time I ran it dumped me into the CPU view when a breakpoint was hit.  Switching to the code, I could see the blue arrow indicating the current line was in the right place, but stepping functioned by stepping instructions not lines only.

    Rebuild, clean, etc made no difference.  Restarting the IDE luckily did.

    ReplyDelete
  2. Jeroen Wiert Pluimers The code didn't change at all.  Not one bit.  I terminated the app, twiddled breakpoints, started again.  That's it.  The only reason I even did that much was because running again would let me "go back in time", since I needed to break earlier in the execution path.

    ReplyDelete

Post a Comment