Отладка приложения Delphi в Wine - PullRequest
7 голосов
/ 06 января 2010

У меня есть приложение для Delphi Windows, которое ужасно умирает под Wine - даже не может создать основную форму. Портирование на Free Pascal невозможно по разным причинам.

Могу ли я отлаживать под Wine, используя собственные средства Delphi? Если нет, могу ли я отлаживать в Wine с помощью gdb, и если да, то как передать отладочную информацию в формате Delphi (вероятно, Turbo Debugger) в gdb?

Наконец, как я могу обнаружить Wine из программы? В FAQ по винным вопросам сказано, что я не должен этого делать, но я не думаю, что исправление моего приложения занимает приоритетное место в списке парней Wine, поэтому я бы предпочел взять дело в свои руки.

Я не писал приложение, но у меня есть исходники и копия Delphi.

Ответы [ 3 ]

2 голосов
/ 07 января 2010

Я верю, что у вас должна быть возможность отладки с gdb , но я не знаю, как бы вы подали на нее все источники Delphi. Для начала вам нужно будет включить всю отладочную информацию в ваш EXE-файл (включая внешний отладчик).

Я бы порекомендовал вам воспользоваться утилитой ведения журнала, которая поддерживает ведение журнала по TCP / IP. Два хороших из них: SmartInspect и CodeSite . Объедините их с утилитой трассировки стека, такой как JCL , и вы можете обнаружить, что это лучшее решение, чем присоединение отладчика в любом случае.

Удачи в обнаружении вина, хотя. Мне было бы интересно посмотреть, что вы придумали. Похоже, что это должно быть возможно.

1 голос
/ 07 января 2010

Вы могли бы иметь возможность подключить удаленный отладчик к приложению Wine (никогда не пробовал), но это требует большого количества вина.

Первое, что я бы попробовал, - это использовать утилиту трассировки стека, такую ​​как JCL расширения для отладки. Трассировка стека может дать вам достаточно информации для устранения проблемы без необходимости отладки в Linux.

0 голосов
/ 08 января 2010

Если у вас есть исходный код, перекомпилируйте его с кучей отладочных сообщений и попробуйте запустить его так же, как в Windows.

В Wine много API-интерфейсов, которые остаются нереализованными, и вам может повезти, если вы случайно установите дополнительные пакеты с помощью winetricks.

У меня была похожая проблема при использовании Wine с нашим Delphi App, мне нужно было установить менеджер ODBC, который не запускается по умолчанию, прежде чем я смог заставить его работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...