断点不适用于Delphi 6 DirectShow源过滤器

时间:2010-03-18 12:32:02

标签: delphi filter directshow breakpoints skype

我正在尝试调试我的DirectShow源过滤器。我在Windows XP上使用Delphi Pro 6以及DSPACK组件库。我使用Skype作为我的主机应用程序,我在运行菜单的参数选项中设置,用于测试我的源过滤器DLL(ax文件扩展名)。 Skype运行正常,我在事件查看器中看到了一个OutputDebugString消息流,但我的断点都没有被击中。在我的项目设置中,我已关闭优化,堆叠帧,调试DCU,范围检查和溢出检查。每次我修改我的代码并运行测试I:

  • 做一个完整的构建
  • 取消注册DirectShow过滤器(regsvr32 / u)
  • 注册DirectShow过滤器(regsvr32)
  • 从IDE运行Skype作为我的主机应用程序

当发生异常时,IDE会捕获它并弹出一个错误对话框,其中包含在CPU窗口中查看汇编程序代码的选项。但是我的断点都没有被击中。谁能告诉我如何让断点工作?

感谢。

2 个答案:

答案 0 :(得分:2)

听起来像你正在构建调试信息,无论是在项目选项中,还是在代码或包含文件中的某个地方使用$ D-开关。检查以确保您已获得调试信息。

答案 1 :(得分:2)

除了Mason Wheeler指示的调试选项外,还要使用完整的地图文件。并确保搜索路径中没有旧的DCU和BPL。 另外,考虑使用EurekaLog或MadExcept - 即使是试用版也应该能够告诉你什么时候爆炸了。