Корректный компилятор Delphi переключается для остановки в коде пользователя, не мой компонент

Я изменяю наши компоненты VCL так ссылки на приложение конечного пользователя на наши dcu файлы, вместо того, чтобы создать наш исходный код каждый раз. У нас есть все работа, но я хочу, чтобы отладчик остановился на коде пользователя, когда исключение повышено. Сначала это остановилось бы в нашем dcu и открыло бы окно CPU. Я смог предотвратить это путем удаления информации об отладке из dcu файлов. Но теперь это все еще не останавливается в пользовательском коде (как библиотеки DevExpress, и другие делают).

Следующий скринкаст является коротким примером. В первый раз я вызываю исключение в коде DevExpress, и отладчик правильно останавливается в моем событии кнопки. Во второй раз я вызываю исключение в своих компонентах, но отладчик не имеет моего события кнопки на стеке вызовов и не показывает мне, где проблема была. Какие-либо идеи, почему?

http://screencast.com/t/NjhlOTRk

В настоящее время создавая DCU с этими опциями:

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

Обновление: методы TDataSet, промежуточные мой компонент и событие кнопки, кажется, вызывают это поведение. Если я вместо этого называю прямой метод своей таблицы, я получаю ожидаемое поведение. Я предполагаю, что нет ничего, что я могу сделать об этом, но мне все еще любопытно, почему это происходит.

6
задан Jeremy Mullin 14 May 2010 в 17:56
поделиться

1 ответ

Если исходный код построен вместо dcu, что-то не так в конфигурации.

Dcus должен находиться в пути поиска, а источник - в пути просмотра.

Таким образом, компилятор не может не использовать DCU, и вы все равно можете отлаживать.

1
ответ дан 17 December 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: