Точки останова не работают в исходном фильтре Delphi 6 DirectShow - PullRequest
1 голос
/ 18 марта 2010

Я пытаюсь отладить исходный фильтр DirectShow. Я использую Delphi Pro 6 в Windows XP вместе с библиотекой компонентов DSPACK. Я использую Skype в качестве хост-приложения, которое я установил в пункте «Параметры» в меню «Выполнить», для тестирования моей библиотеки DLL исходного фильтра (расширение файла ax). Skype работает нормально, и я вижу поток моих сообщений OutputDebugString в средстве просмотра событий, но ни одна из моих точек останова никогда не срабатывает. В моих настройках проекта у меня отключены оптимизации, включены стеки кадров, включены отладочные DCU, включена проверка диапазона и переполнение. Каждый раз, когда я изменяю свой код и запускаю тест, я:

  • Сделать полную сборку
  • Отмена регистрации фильтра DirectShow (regsvr32 / u)
  • Регистрация фильтра DirectShow (regsvr32)
  • Запустите Skype как приложение для хоста из IDE

При возникновении исключения среда IDE перехватывает его и открывает диалоговое окно с сообщением об ошибке с возможностью просмотра кода на ассемблере в окне ЦП. Однако ни одна из моих точек останова не пострадала. Может кто-нибудь сказать мне, как заставить работать контрольные точки?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 18 марта 2010

Наряду с опцией отладки, указанной Мэйсоном Уилером, используйте полный файл карты. И убедитесь, что в пути поиска нет старых DCU и BPL. Кроме того, рассмотрите возможность использования EurekaLog или MadExcept - даже пробные версии должны быть в состоянии показать вам, что происходит, когда он взрывается.

2 голосов
/ 18 марта 2010

Звучит так, будто вы строите с отключенной отладочной информацией, либо в опциях проекта, либо с помощью переключателя $ D где-то в коде или во включаемом файле. Убедитесь, что у вас есть отладочная информация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...