LINUX.ORG.RU

Сборка Lazarus с отладочной информацией

 , , , ,


0

1

Добрый вечер, имею следующий вопрос: необходимо собрать с полной отладочной информацией fpc/lazarus для решения проблемы с прогой (Double Commander). В первую очередь собираю fpc:

https://slackbuilds.org/slackbuilds/14.2/development/fpc/fpc.SlackBuild

меняю в 91 строке: make build NOGDB=1 на

make build NOGDB=1 OPT="-dDEBUG -gw2 -godwarfsets -gl -gh -O-"

устанавливаю, потом конпеляю lazarus:

https://slackbuilds.org/slackbuilds/14.2/development/lazarus/lazarus.SlackBuild

с заменой строка 70 OPT=${OPT} на

OPT="-dDEBUG -gw2 -godwarfsets -gl -gh -O-"

пакет собирается, но его размер получается почему-то меньше, чем у собранного с стандартной оптимизацией (136 метро, без отладочной инфы 177). Снимаю корку в программе, backtrace всё равно показывает адреса. Подозреваю, что неправильно собрался lazarus или fpc, а может всё вместе. Вопрос: подскажите как правильно сконпелять на примере готовых слакбилдов. Собираю всё это на 32-битной Slackware 14.2, x86_64 версия DC не глюкает.


с заменой строка 70 OPT=${OPT} на
OPT="-dDEBUG -gw2 -godwarfsets -gl -gh -O-"

пакет собирается, но его размер получается почему-то меньше, чем у собранного с стандартной оптимизацией (136 метро, без отладочной инфы 177).

А ты не заменяй содержимое строковой переменой, а прибавь к ней новый параметр, с пробелом в начале, чтобы строки правильно сложились.

Napilnik ★★★★★
()
Ответ на: комментарий от Algierd
OPT="${OPT} -dDEBUG -gw2 -godwarfsets -gl -gh -O-"

если речь про SlackBuild или иной какой код на shell.

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 1)
Ответ на: комментарий от grem

Это значит что ИДЕ fp собирается в кастрированном виде, без отладчика gdb, а он на лазарусе будет на кнопки тыкать. В линуксе fp собирать с gdb надо примерно так, а если не хотят заморачиваться, тогда и пишут NOGDB=1

Napilnik ★★★★★
()

И как их собрать тогда чтобы вытянуть из Double Commander всю отладочную информацию? Lazarus сконпелял так как bormant написал, получилось 141 метров пакет, размер смущает, почему версия с отладкой меньше той, что без отладки?

Algierd
() автор топика
Ответ на: комментарий от Algierd

Так лазарус использует внешний отладчик, если ты не собираешься отлаживать именно лазарус, то тебе нужно собрать с кучей отладочных опций Double Commander :)

Napilnik ★★★★★
()
Ответ на: комментарий от Algierd

Надо ли в моём случае вносить какие-то изменения в скрипт или этого хватит для программы?

Не, тебе для Double Commander это не понадобится.

Napilnik ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.