Delphi2010-IDE продолжает останавливаться в окне отладки процессора

#delphi #debugging #delphi-2010 #delphi-7 #cpu

#delphi #отладка #delphi-2010 #delphi-7 #процессор

Вопрос:

Я продолжаю получать окно отладки процессора в D2010 IDE, я заметил, что это появляется в некоторых точках останова, некоторые другие не вызывают этого эффекта. Не могу объяснить, когда именно это происходит или какие точки останова вызывают это, но похоже, что когда отладчик не может достичь точки останова в коде, он останавливается на начальном адресе метода и попадает в бесконечный цикл, поэтому даже удаление точки останова не помогает, единственное решение — прервать отладку, удалить точку останова и перезапустить снова. У меня была такая же проблема с D7, но чаще.

Кто-нибудь может это объяснить? это ошибка или проблема конфигурации? насколько полезной является информация об отладке процессора? на данный момент я не могу их толком использовать, кто-нибудь может порекомендовать какие-нибудь инструменты, статьи о том, как с пользой использовать эту информацию.

Спасибо.

Комментарии:

1. Изучите ассемблер, если вы хотите использовать окно отладки процессора.

Ответ №1:

Обходным путем для этой проблемы является полная ОЧИСТКА ваших рабочих папок разработчика. Удалите все файлы DCU и DCP, а затем перестройте. Это часто случалось со мной в Delphi 2010 и, похоже, исправлено в Delphi XE

Комментарии:

1. ошибка все еще здесь в xe5, 1 для решения

2. Происходит ли это в ваших приложениях или в компонентах? Достаточно ли удаления всех файлов .identcache, чтобы это исправить?

3. пока не могу воспроизвести это. Я просто запускаю clean amp; build со всеми моими bpl, и это исчезло. Я напишу больше, если снова застряну в нем

Ответ №2:

Обычно это вызвано наличием отладочной информации в DCU (стороннем или собственном VCL Delphi), но отсутствием источника, доступного по пути просмотра.

Убедитесь, что у вас не установлен флажок «Использовать DCU отладки» Project->Options-Linker . Вы также можете захотеть открыть исходный код для любых используемых вами сторонних компонентов (пакетов), изменить их, чтобы они не использовали отладочную информацию, и также перестроить их. Вы всегда можете выполнить повторную компиляцию, если обнаружите в них ошибку и вам нужно выполнить трассировку в исходный код.

Еще одна вещь, в которой следует убедиться, это то, что у вас нет $(BDS)LibDebug значения, установленного в библиотеке или в путях просмотра ( Project->Options->Compiler в D2010); это предотвратит обнаружение отладочных DCU при пошаговом выполнении кода. (Вместо этого установите для него значение $(BDS)Lib .)