7

Wineの下で恐ろしく死ぬDelphi Windowsアプリがあります-メインフォームを作成することさえできません。Free Pascal への移植は、さまざまな理由からオプションではありません。

Delphi のネイティブな手段を使用して、Wine でデバッグできますか? そうでない場合は、gdb を使用して Wine でデバッグできますか? もしそうなら、デバッグ情報を Delphi 形式 (おそらくターボ デバッガー) で gdb にフィードするにはどうすればよいですか?

最後に、プログラムから Wine を検出するにはどうすればよいですか? Wine の FAQ にはすべきではないと書かれていますが、自分のアプリを修正することは Wine 関係者の優先順位リストの上位にあるとは思いません。

私はアプリを作成しませんでしたが、ソースと Delphi のコピーを持っています。

4

3 に答える 3

2

gdbでデバッグできるはずだと思いますが、すべての Delphi ソースをどのようにフィードするかはわかりません。ただし、開始するには、EXE (外部デバッガーを含む) にすべてのデバッグ情報を含める必要があります。

TCP/IP 経由のロギングをサポートするロギング ユーティリティを入手することをお勧めします。2 つの良いものはSmartInspectCodeSiteです。これらをJCLが提供するようなスタック トレース ユーティリティと組み合わせると、とにかくデバッガをアタッチするよりも優れたソリューションであることがわかる場合があります。

しかし、ワインの検出に幸運を祈ります。私はあなたが思いついたものを見てみたいと思います。しかし、それは可能であるように思われます。

于 2010-01-06T21:53:24.757 に答える
1

リモート デバッガーを Wine アプリに接続することはできるかもしれませんが (試したことはありません)、それは Wine に多くのことを要求しています。

私が最初に試すことは、JCLデバッグ拡張機能のようなスタック トレース ユーティリティを使用することです。スタック トレースは、Linux でデバッグ作業を行わなくても問題を解決するのに十分な情報を提供する場合があります。

于 2010-01-06T21:28:51.657 に答える
0

ソースコードがある場合は、一連のデバッグメッセージを使用して再コンパイルし、Windowsで実行するのと同じように実行してみてください。

Wineには未実装のままになっている多くのAPIがあり、winetrickを使用してランダムに追加のパッケージをインストールすることができます。

Delphiアプリでwineを使用する場合にも同様の問題が発生しました。動作させる前に、デフォルトではインストールされないODBCマネージャーをインストールする必要がありました。

于 2010-01-08T16:43:51.023 に答える