|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
Кто-нибудь решал вопрос отладки стандартных модулей (например Forms.pas) при условиях: 1. Используется Delphi 2007 2. Приложение скомпилено с BPL-пакетами. Это реально? Если да, то как? Нагуглить ничего не получилось, максимум, что удалось нарыть: "это реально", но без подробностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 13:44 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
ставь птицу в опциях компиляции "Use Debug DCU" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 13:58 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
DmSer Кто-нибудь решал вопрос отладки стандартных модулей (например Forms.pas) при условиях: 1. Используется Delphi 2007 2. Приложение скомпилено с BPL-пакетами. В D2007 для .bpl поставляются .jdbg, которые отладчик понимает, так что по плану должно работать. Если не работает - это какая-то проблема, её надо искать. Мимопроходящий ставь птицу в опциях компиляции "Use Debug DCU" Эта опция не имеет эффекта для BPL. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 14:26 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
GunSmoker, JCL / JVCL обязательно для этого должны быть установлены? Через них выполняется разбор jdbg? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 16:57 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
Нет, они есть в IDE для отладчика. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 17:11 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
GunSmoker, так как отладить BPL? Создаю пустой проект VCL, ставлю галку "build with runtime packages" Нужно ли ставить какие-нибудь дополнительные флаги в разделе "compiler" или "linker"? В разделе "compiler" есть галка "Use debug DCUs". Но она здесь ничем не помогает. А галки "Use debug jdbg" там нет. Нужно ли в "linker" ставить галку "Include TD32 debug info"? Нужно ли прописывать дополнительные пути в разделе "Directories / Conditionals"? Нужно ли дополнительное ПО? В данный момент необходимости отлаживать BPL нет (она была бы весьма кстати на прошлой неделе). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2022, 21:08 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
DmSer Кто-нибудь решал вопрос отладки стандартных модулей (например Forms.pas) при условиях: Зачем кому-то вне Борланда отлаживать Forms.pas? Особенно в свете наличия bpl-пакетов (что автоматически подразумевает перекомпиляцию vcl???.bpl и эверест следующих из этого проблем)? DmSer Это реально? Ну, в принципе, если руками собрать vcl.bpl с отладочными опциями ($D+ и т. п.) то, наверное, реально. Если хочется отлаживать дизайн-тайм, потребуется ещё remote debugger или как там его. Но, блин, задлянафига? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 00:38 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
Дико извиняюсь, спросонья попутал, проф-деформация. Мимопроходящий частично прав. *.jdbg даст возможность IDE показать информацию о коде. IDE использует эти файлы, когда в IDE происходит сбой и ей нужно отправить отчёт со стеком вызовов. Также эти файлы может использовать трейсер исключений (EurekaLog, madExcept, JCL) для постройки стека вызовов внутри BPL. Т.е. это файлы для production, где нужно деплоить BPL+jdbg. Для именно отладочных же целей создаётся *.dcp файл, куда при компиляции пакета складываются все скомпилированные модули пакета - включая всю отладочную информацию. Отладчик может использовать эту информацию в процессе отладки. Т.е. это файлы для design-time: BPL+dcp. В частности, \lib\win32\debug\rtl.dcp собирается с отладочной информацией, а \lib\win32\release\rtl.dcp - без. Соответственно, если нужно отлаживать системные пакеты - нужно, чтобы отладчик выбирал вариант из папки debug. Что будет выбирать отладчик - зависит от путей поиска. А папка debug как раз добавляется в пути поиска при включении опции "Use Debug DCU". Т.е. если "Use Debug DCU" включена, то debug папка будет в путях поиска и будет использован \lib\win32\debug\rtl.dcp с отладочной инфой. Уточнить, какой файл используется можно из View / Debug Windows / Modules - напротив rtl.bpl должна быть синяя точка и указан путь \lib\win32\debug\rtl.dcp. Таким образом, обычно, действительно, нужно просто включить опцию "Use Debug DCU". Однако в вопросе речь идёт о Delphi 2007, в которой профили пока в зародыше. Папка \lib\debug в Delphi 2007 есть, но никаких отладочных *.dcp в ней нет, а потому отладчик может загрузить только release *.dcp без отладочной информации. Поэтому "из коробки" отлаживать системные BPL в Delphi 2007 нельзя. Теоретически, можно пересобрать системные пакеты с отладочной информацией, но это не тривиальная задача. Лучше посмотреть в сторону временного отключения сборки с пакетами для отладки. Как вариант - создать свой пакет, куда включить модули из RTL/BPL и линковаться с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 10:56 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
GunSmoker, Спасибо за развёрнутый ответ! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2022, 00:07 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
softwarer, Forms я указал для примера. Проблема у меня была с IBX, разбирался с причинами зависания приложения при ошибке подключения к Firebird. Возникала в рабочем проекте, состоящем их множества DLL, скомпилированных с пакетами. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2022, 00:12 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
Не знаю, как в 2007, в D6 и в D7 я всегда просто прописываю в Search path проекта путь к Source\Vcl и спокойно отдаживаю, включая IBX. Без галки "Use debug dcu". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2022, 01:42 |
|
Отладка стандартных модулей VCL / RTL
|
|||
---|---|---|---|
#18+
Речь про пакеты, а не твоё приложение. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2022, 12:04 |
|
|
start [/forum/topic.php?fid=58&gotolast=1&tid=2036625]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
5ms |
others: | 267ms |
total: | 425ms |
0 / 0 |