ほとんどの場合、開発者はアプリケーションコードのデバッグ、エラーの追跡、時間の経過に伴う変数の値の変化の確認に費やします。Delphiでは、Delphiのデバッグ情報にアクセスし、問題を簡単に見つけることができるプロ仕様のデバッグツールがいくつか存在しますが、最も優れたDelphi デバッグフレームワークの1つが「DebugEngine」というフレークワークです。
DebugEngineとは?
DebugEngineは、スタックトレース、CPUレジスタのスナップショット、デバッグ情報など、デバッグに関するユーティリティを集めたオープンソースのスイートです。
お使いの環境に合わせたDebugEngineの設定方法については、こちらで詳しく説明しています。
[crayon-6768ec3aab8f1418687628/]DebugEngineの機能
DebugEngineには、以下のような特徴や様々な機能、そしてユーティリティが用意されております。
- x86およびx64アーキテクチャをサポート
- Delphiデバッグ情報へのアクセス
- シンボル名からシンボルアドレスの取得
- Delphiのmap解析とバイナリ形式へのmapコンバータ
- PEファイルからDelphiのデバッグ情報を削除/復元
- スマートなスタックトレース
- Try blocks トレース
- デバッグ情報にリンクされていても、Delphiアプリのリソースを更新
- PEファイルにカスタムデバッグ情報を挿入
- CPUレジスタのスナップショット
- ベクトルレジスタへのアクセス
- デバッグ情報を使用したDisasmとコメント関数
- 例外ハンドラの列挙
- Delphi例外のスタックトレースのフック
- Delphiの文字列検出
- PEのユーティリティ
- Disasmのユーティリティ
DebugEngineに関する以下のドキュメントを参考ください。
- DebugEngine Getting started(抄訳)
- How StackTrace works?(英語)
- DebugEngine stack trace:(英語)
- DebugEngineのデモプログラム
DebugEngineは、Mozilla Public License 2.0のライセンス規定されているオープンソースプロジェクトで、 こちらから入手できます。なお、エンバカデロではこの製品に関するテクニカルサポートサービスは提供しておりません。