1
votes

I'm trying to debug my DirectShow source filter. I'm using Delphi Pro 6 on Windows XP along with the DSPACK component library. I'm using Skype as my host application, which I set in the Parameters option in the Run menu, for testing my source filter DLL (ax file extension). Skype runs fine and I see a stream of my OutputDebugString messages in the Event Viewer, but none of my breakpoints are ever hit. In my Project Settings I have optimizations off, stack frames on, debug DCUs on, Range Checking on, and Overflow checking on. Each time I modify my code and run a test I:

  • Do a full build
  • Unregister the DirectShow filter (regsvr32 /u)
  • Register the DirectShow filter (regsvr32)
  • Run Skype as my Host application from the IDE

When an Exception occurs, the IDE does trap it and pops up an error dialog box with the option to view the assembler code in the CPU window. However none of my breakpoints are being hit. Can anyone tell me how to get breakpoints working?

Thanks.

2
Check if the blue dots are correctly aligned with the source code lines. The Delphi compiler sometimes messes that up (at least for me). In that case everything is shifted by a few lines.jpfollenius
Check if the blue dots even exist. If not, you've got no debug info.Mason Wheeler

2 Answers

2
votes

Sounds to me like you're building with debug information off, either in the project options or with a $D- switch somewhere in the code or in an include file. Check to make sure you've got debug information available.

2
votes

Along with the debug option indicated by Mason Wheeler, use a full map file. And make sure that there aren't old DCUs and BPLs in the search path. Also, consider using EurekaLog or MadExcept - even the trial versions should be able to show you what's gong on when it blows up.