4

重複の可能性:
.NET 言語用のデバッガーを構築するための適切なアプローチは何ですか?

デバッガーを構築したい Lisp スタイルの言語があります。私の言語はこちらです - https://github.com/bryanedds/aml

私はおそらくそれをILにコンパイルするつもりです。デバッガーの作成に役立つ場合は、最初にコンパイラーを作成します。ただし、デバッガーを構築するためのいくつかのアプローチは何か疑問に思っています。Visual Studio 用にビルドすることを検討しましたが、COM を介して VS とやり取りする必要があり、C または C++ でデバッガーを作成する必要があるため、難しいと思われます (UGH!)。Visual Studio Debugger の開発には、私が気付いていないより良いストーリーがあることを願っています。

SO での .NET デバッグに関する他のスレッドを見ると、IL にはソース ファイルの座標が含まれていることがわかります。つまり、最初に疑うほど多くの COM コードを記述する必要がないということなのだろうか (EG - ステップ デバッグがうまくいく)コンパイルされた IL にソース ファイル座標がある限り、COM コードなしでボックスの

別の方法として、.NET 言語のデバッグにより適した別の IDE を使用することを検討することもできます。Eclipse はありますが、特に .NET 言語のデバッグをサポートしているようには見えません。

おそらく、デバッガー構築のストーリーが最も優れている IDE は MonoDevelop かもしれません。もちろん、Mono だけでなく、MS .NET でも動作する必要があります。ただし、ドキュメントはかなりむき出しです。そこでデバッガを構築した経験のある人はいますか?

ご覧のとおり、私はこれらすべてにかなり迷っています。.NET 言語の変数インスペクションを使用して、ブレークポイントとステップ デバッグを備えた単純なデバッガーを構築する方法がいくつか必要なだけです。私の言語は F# で書かれているので、ほとんどのコードは F# で書きたいと思います。

4

1 に答える 1

7

を使用System.Reflection.Emitして言語を IL にコンパイルする場合、コード (ファイル) でデバッグ情報を生成することも非常に簡単で、Visual Studio が自動的にそれを取得します (したがって、デバッガーを作成pdbする必要はありません)。 .

.NET 言語用のデバッガーを作成する必要があるとは思いません。Visual Studio には既にかなり優れたデバッガーが用意されているため、言語で使用できるようにするだけで済みます。

于 2012-09-10T16:57:46.680 に答える