我正在修改我们的VCL组件,因此最终用户的应用程序链接到我们的dcu文件,而不是每次都构建我们的源代码.我们已经完成了所有工作,但是我希望调试器在引发异常时停止用户代码.首先它会在我们的dcu中停止并打开CPU窗口.我能够通过从dcu文件中删除调试信息来防止这种情况.但现在它仍然不会停留在用户代码中(如DevExpress库和其他人一样).
以下截屏视频是一个简短的例子.我第一次在DevExpress代码中导致异常,并且调试器在我的按钮事件中正确停止.第二次我在我的组件中导致异常,但是调试器在调用堆栈上没有我的按钮事件,并且没有显示问题所在.有什么想法吗?
http://screencast.com/t/NjhlOTRk
目前使用以下选项构建DCU:
-$W+ -$D- -h -w -q
Run Code Online (Sandbox Code Playgroud)
更新:我的组件和按钮事件之间的TDataSet方法似乎导致此行为.如果我改为调用我的表的直接方法,我会得到预期的行为.我猜我没办法解决这个问题,但我仍然很好奇为什么会这样.
| 归档时间: |
|
| 查看次数: |
357 次 |
| 最近记录: |