Мы создали приложение, которое использует пакеты и компоненты. Когда мы отлаживаем приложение, «Журнал событий» в IDE часто показывает, что наши BPL загружаются без отладочной информации («No Debug Info»). Это не имеет смысла, потому что все наши пакеты и 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 проекта, все построены с пакетом времени выполнения:
- Core.bpl
- Components.bpl
- Plugin.bpl (использует оба # 1 и # 2)
- MainApp.exe (использует # 1)
Наблюдаемые проблемы
1) Много раз, когда мы отлаживаем, Components.bpl загружается с отладочной информацией, но все значения в окне «Local Variables» являются пустыми. Если навести указатель мыши на переменную в коде, всплывающее окно не появится, а в окне «Оценка» также ничего не отобразится (панель «Результат» всегда пуста).
2) Иногда в журнале событий отображается «No Debug Info» для разных BPL. Например, если мы активируем проект Plugin.bpl и устанавливаем его Run | Хост-приложение параметра должно быть MainApp.exe, а затем нажмите клавишу F9, кажется, что все модули загружаются с «Отладочной информацией», кроме модуля Plugin.bpl. Когда он загружается, журнал событий показывает «Нет данных отладки». Однако, если мы закроем приложение и сразу нажмем F9, оно запустится снова, ничего не перекомпилировав, и на этот раз Plugin.bpl загрузится с отладкой («Имеет информацию отладки»).
Вопросы
1) Что может привести к тому, что в окне «Локальные переменные» не отобразятся значения?
2) Почему BPL иногда загружаются без отладочной информации, когда BPL был выполнен с отладкой и все файлы отладки (dcu, map и т. Д.) Доступны?