Пути к файлам в отладочной инфе

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Mirage
энтузиаст
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia
Контактная информация:

Сообщение Mirage »

Да, в .ppu же тоже отладочная инфа может быть. И компилироваться этот .ppu мог с какой угодно рабочей директорией, в т.ч. на другой машине.

В итоге, чтобы восстановить путь надо знать где что компилировалось. Сама отлаживаемая программа понятно, где запустил компилятор, та директория и есть база. Для RTL, похоже, можно базой считать директорию rtl/{TARGET}. Для прочего непонятно.
Аватара пользователя
Дож
энтузиаст
Сообщения: 900
Зарегистрирован: 12.10.2008 16:14:47

Сообщение Дож »

Да, в .ppu же тоже отладочная инфа может быть.

Какие именно пути хранятся в file.ppu для отладки (помимо пути до самого file.pp)?
Mirage
энтузиаст
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia
Контактная информация:

Сообщение Mirage »

Пути к исходникам, которые потом в .exe попадают. Иначе откуда они возьмутся?
Аватара пользователя
Дож
энтузиаст
Сообщения: 900
Зарегистрирован: 12.10.2008 16:14:47

Сообщение Дож »

Иначе откуда они возьмутся?

Из uses главной программы и -Fu командной строки.
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

>>и на пути не накладывается ограничения, что они потребуются в других местах, отличных от исходных.
*.ppu *.o могут использоваться в других путях, отличных от тех где они компилировались. При этом отладочная информация будет 'скорректирована' до текущего состояния путем подстановки новой "базы"

Добавлено спустя 1 минуту 49 секунд:
>>Из uses главной программы и -Fu командной строки.
если бы так было, зачем тогда пересобирать комипилятор с отладочной инфой? когда нужна отладка внутри ртл?
Аватара пользователя
Дож
энтузиаст
Сообщения: 900
Зарегистрирован: 12.10.2008 16:14:47

Сообщение Дож »

>>и на пути не накладывается ограничения, что они потребуются в других местах, отличных от исходных.
*.ppu *.o могут использоваться в других путях, отличных от тех где они компилировались. При этом отладочная информация будет 'скорректирована' до текущего состояния путем подстановки новой "базы"

Ок, но это же всё равно не то же самое, что patch? patch применяет дифф на иерархию файлов, а в паскале куча самодостаточных ppu'шников, которым не требуется никакая иерархия вообще.

если бы так было, зачем тогда пересобирать комипилятор с отладочной инфой? когда нужна отладка внутри ртл?

Чтобы можно было посмотреть читаемое lineinfo. Но .ppu файлу (и соответствующему .o) достаточно только про свои функции знать lineinfo, про другие файлы зачем?
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

>>Чтобы можно было посмотреть читаемое lineinfo.
Чтобы можно было вообще посмотреть. Изначально там lineinfo нету.

>>достаточно только про свои функции знать lineinfo, про другие файлы зачем?
+про путь к исходнику и incам из которых этот файл скомпилировался
Ответить