Отладка приложения Delphi на Вине

У меня есть Приложение Windows Delphi, которое умирает ужасно под Вином - даже не добирается до создания основной формы. Портирование на Свободного Паскаля не является опцией по различным причинам.

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

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

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

7
задан Seva Alekseyev 6 January 2010 в 20:59
поделиться

3 ответа

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

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

1
ответ дан 7 December 2019 в 16:42
поделиться

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

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

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

2
ответ дан 7 December 2019 в 16:42
поделиться

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

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

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

0
ответ дан 7 December 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: