В приложении Delphi при отладке отсутствует информация об отладке

Мы создали приложение, которое использует пакеты и компоненты. Когда мы отлаживаем приложение , «Журнал событий» в IDE часто показывает, что наши BPL загружаются без отладочной информации («Нет отладочной информации»). Это не имеет смысла, потому что все наши пакеты и EXE созданы с отладкой.

_(each project) | Options | Compiling_
[ x ] Assertions
[ x ] Debug information
[ x ] Local symbols
Symbol reference info = "Reference info"
[   ] Use debug .dcus
[ x ] Use imported data references

_(each project) | Options | Linking_
[ x ] Debug information
Map file = Detailed

4 проекта, все построены с использованием пакетов среды выполнения:

  1. Core.bpl
  2. Components.bpl
  3. Plugin.bpl (использует как # 1, так и # 2)
  4. MainApp.exe (использует # 1)

Наблюдаемые проблемы

1) Много раз, когда мы отлаживаем, Components.bpl загружается с отладочной информацией, но все значения в окне «Локальные переменные» остаются пустыми. Если вы наведете указатель мыши на переменную в коде, появится нет всплывающего окна, и окно Evaluate также ничего не показывает (панель «Результат» всегда пуста).

2) Иногда в журнале событий отображается «Нет информации об отладке» для различных BPL. Например, если мы активируем Plugin.b pl и установите его Run | Хост-приложение параметра должно быть MainApp.exe, а затем нажмите F9. Кажется, что все модули загружаются с пометкой «Имеет отладочную информацию», за исключением модуля Plugin.bpl. При загрузке в журнале событий отображается «Нет информации об отладке». Однако, если мы закроем приложение и сразу нажмем F9, оно запустит его снова, ничего не перекомпилируя, и на этот раз Plugin.bpl загружается с отладкой («Имеет информацию об отладке»).

Вопросы

1) Что может привести к тому, что окно «Локальные переменные» будет , а не отображать значения?

2) Почему BPL иногда загружаются без отладочной информации, когда BPL выполнялась с отладкой и все файлы отладки (dcu, map и т. д.) доступны?

13
задан Arioch 'The 11 December 2012 в 17:02
поделиться