Correct Delphi compiler switches to stop in the user's code, not my component's

Posted by Jeremy Mullin on Stack Overflow See other posts from Stack Overflow or by Jeremy Mullin
Published on 2010-05-14T17:35:12Z Indexed on 2010/05/15 12:14 UTC
Read the original article Hit count: 250

Filed under:
|

I'm modifying our VCL components so the end user's application links to our dcu files, instead of building our source code each time. We have everything working, but I want the debugger to stop on the user's code when an exception is raised. At first it would stop in our dcu and open the CPU window. I was able to prevent that by removing debug info from the dcu files. But now it still doesn't stop in the users code (like DevExpress libraries and others do).

The following screencast is a short example. The first time I cause an exception in the DevExpress code, and the debugger correctly stops in my button event. The second time I cause an exception in my components, but the debugger doesn't have my button event on the call stack, and doesn't show me where the problem was. Any ideas why?

http://screencast.com/t/NjhlOTRk

Currently building the DCU's with these options:

-$W+ -$D- -h -w -q

Update: The TDataSet methods in between my component and the button event seem to cause this behavior. If I instead call a direct method of my table, I get the expected behavior. I'm guessing there isn't anything I can do about this, but I'm still curious why it happens.

© Stack Overflow or respective owner

Related posts about delphi

Related posts about vcl