Может ли Delphi 5 сгенерировать PDB-файл, который может использовать VS?
-
05-07-2019 - |
Вопрос
У нас есть это большое приложение, написанное на Delphi 5, и разработка продолжается по сей день.Ведутся исследования по переходу на более новые версии, но пока безуспешно, поскольку некоторые сторонние компоненты давно не обновлялись и не работают в более поздних версиях.
Однако в то же время люди должны продолжать работать над этим.Теперь IDE Delphi 5 не доставляет особого удовольствия.В нем довольно много ошибок, и ему не хватает многих функций современных IDE, что затрудняет его использование.Особенно когда дело доходит до отладки.
Поэтому мне было интересно - можно ли будет использовать Visual Studio в этом процессе?Насколько я знаю, формат файла .PDB довольно старый и хорошо документирован.Можно ли заставить компилятор Delphi каким-то образом генерировать файлы .PDB для своих скомпилированных результатов?Затем программу можно было бы отладить с помощью Visual Studio, возможно, в гораздо большей степени, чем в оригинальной IDE.
Что ж, абсолютным Святым Граалем было бы перенести всю разработку на VS, просто сохранив компилятор из Delphi, но я полагаю, что это было бы практически невозможно.
Решение
Нет, и ни одна другая версия Delphi не может. Вы можете использовать Map2Dgb , чтобы включить файл подробной карты в файл dbg, и вы можете использовать это в WinDbg.
Мне любопытно, какие функции отладки вы ожидаете использовать в Visual Studio, которых нет в Delphi 5 и которые также не зависят от IDE, понимающей язык Delphi. Я всегда был довольно доволен Delphi 5.
Другие советы
Кстати, вы можете проголосовать за эту функцию здесь .
Обратите внимание, что VS-совместимая отладочная информация будет полезна не только для отладки приложения (я согласен: лучше использовать Delphi), но и для таких инструментов, как Process Explorer. Например, Process Explorer может отображать читаемый человеком стек вызовов вместо номеров RAW.
Я пробовал tds2pdb , и он отлично работает для меня.
Очевидно, вы не можете. Кажется, что PDB - это, в конце концов, проперциальный формат Microsoft без документации, и как таковой нет других инструментов, генерирующих его. Жалость. : (Р>
Я бы рекомендовал перейти на более позднюю версию Delphi.Мы сделали это с различными приложениями для клиентов.Переход на более новую версию Delphi обычно прост, но при переходе с D5 на D6 возникли проблемы из-за изменений в способе обработки компонентов (код времени разработки был отделен от времени выполнения), а переход на Unicode в D2009 был большим изменением.
Главное - разобраться со сторонними компонентами.Мы используем только компоненты сторонних производителей, поставляемые с исходным кодом, поэтому, если случится худшее и поставщик исчезнет, мы все равно сможем работать над компонентами самостоятельно.
Какие компоненты вызывают проблемы?