2011-11-07 8 views
0

D2006コンパイラによって生成されたEXEと、関連するRSMファイルとMAPファイルがEXEファイルと同じフォルダにあります。このファイルはDelphiがインストールされているマシンのローカルファイルです。 IDEを起動してEXEをロードして実行することはできますが、実行を一時停止するとシンボリック情報は表示されません。DelphiプロジェクトEXEをローカルでデバッグする

プロシージャ名などを逆アセンブリのラベルとして見て、ルーチン名を指定してアドレスを 'GoTo'にするにはどうすればよいですか?

ソースが同じフォルダにある場合は、高水準のステッピングなどができますか?

+0

AFAIKこれは機能しません。 Delphiは、.dcuファイルにあるデバッグ情報を使用してデバッグします。 .rsmシンボルを使用して "リモートデバッグ"を使用することはできますが、IDEのデバッガで直接プロセスをロードすることはできません。また、リモートデバッガを使用して.dcuファイルをローカルに作成する必要があります。あなたはアプリケーションのソースコードを持っています(あなたは「同じフォルダにソースがあります」と言っています)。 IDEでプロジェクトをロードして通常どおりにデバッグするのはなぜですか? –

+0

ありがとう@Ken。実行可能ファイルをデプロイし、その時点で実行可能ファイル、MAPおよびRSMファイル、およびソースセットを保存すると、フィールドの前のビルドでエラーが発生した場合、そのファイルセットを一時フォルダに復元し、EXEをロードし、IDEを使用してソースレベルでコードをデバッグできると考えました。あなたが言っているのは、私もDCUファイルを保存する必要があるということです。そのファイルセットをIDEにロードしてデバッグすることができますが、使用しているライブラリルーチンの中には「移動しました」という問題があります。おそらく答えはリモートデバッガを使用することです(私は一度も使用していません)。 – rossmcm

+0

とはい、私はバージョンコントロールシステムが私にこれをさせてくれることを知っています.... – rossmcm

答えて

0

私はmadExceptを使用して、私のデルファイのアプリケーションをデバッグするには、非常に素晴らしいツールであり、あなたのプロジェクトのセットアップが簡単です、ここでいくつかの情報に行く。

"madExceptはあなたのソフトウェアにクラッシュを見つけるのに役立つように作られています。あなたのプログラムにクラッシュ/例外があると、madExceptはそれを自動的にキャッチし、分析し、多くの有用な情報を収集し、あなたに完全なバグレポートを送ってください。

http://madshi.net/madExceptDescription.htm

+0

これは、*すでにビルドされた実行可能ファイル*をデバッグする方法です。 madExceptは例外処理製品ですが、最初はアプリケーションにコンパイルする必要があります。これは*デバッガではなく、リモートシンボルデバッグを行いません。 (しかし、例外的な例外処理パッケージです。)もう一度質問をお読みください。 madExceptを推奨したい場合は、代わりに元の質問へのコメントとして入力する必要があります。それは答えではありません。 –

関連する問題