10

Delphi 7 を使用して、スタック トレースを表す文字列を から取得するにはどうすればよいExceptionですか?

try
  SomethingDodgy();
except
  on E:Exception do begin
    // print stack trace
    Log.Write(/* ??? */);
  end;
end;

最新の Delphi には GetStackTrace 関数があると聞きましたが、Delphi 7 用のものは見つかりませんでした。いいえ、アップグレードはオプションではありません :)

4

4 に答える 4

15

素晴らしい例外処理フレームワークであるmadExceptを試してみることができます。

madshiにはたくさんのサンプルコードがあります。私は以前にそこにあるスタックトレースのものを使用したことがあると確信しています。

Dmitriyが指摘したように、JCLにはスタックトレースコードもあります。古いサンプルはこちらです。

于 2009-11-16T06:10:44.810 に答える
5

ゲームにエウレカログを投げます。これは優れたツールであり、まったく高価ではありません。

于 2009-11-16T12:23:46.440 に答える
1

MemChkは非常に使いやすく(特にメモリリークの検索/検索)、コードアドレスからスタックトレースをレンダリングする方法を知っています。

于 2009-11-16T07:38:20.413 に答える
-1

Win32 のスタック トレースは、.NET や Java ほど良くありません (そして、Delphi の最新版は .NET スタック トレースを使用しています)。
とにかく、ここで詳細情報を提供するリンクを1つ見つけました(ExeExにあるため、そのソリューションを表示するには、検索の最初のリンクをクリックしてください)。

そこのページの下部を参照してください。

于 2009-11-16T05:53:46.453 に答える