7

デバッグコンテキスト内でMonoコンパイラをサービスとして使用して(ここここを参照)、デバッガ内で実行時にオブジェクトをクエリ/変更/視覚化などできるか​​どうか、またどのように使用できるかを知りたいです。現時点では、このSO投稿によると、RoslynCTPはこの機能をサポートしていません。

4

2 に答える 2

2

はい、それは完全に可能です。これを実装する方法の正確な詳細はわかりませんが、v2.8以降(またはそれ以前)に実際にアイデアを実装しているMonoDevelopを見てください。MonoDevelopでは、REPLパッドを使用できます。これにより、ブレークポイントが原因でアプリケーションが停止したのとまったく同じコンテキストでC#コードを入力できます。デバッグビューにMDの簡単なスクリーンショットを添付し、REPLパッドを開きました。MDはオープンソースであるため、MDがどのように実装されたかをソースで確認し、必要な部分を取り除くことができます。

デバッグ中のDirect/REPL評価ウィンドウを使用したMonoDevelopのスクリーンショット

于 2011-12-13T22:19:54.603 に答える
0

Mono Soft DebuggerはMonoランタイムの一部であり、「Debugger Agent」を使用できるため、実行可能であると思います。

デバッガエージェントは、クライアントプログラムにデバッグサービスを提供するモノラルランタイム内のモジュールです。

したがって、1つの代替手段は、コンパイラーのMono Soft Debuggerをサービスとして(Monoランタイム上で実行される)インターフェースしようとすることです。

Mono SoftDebuggerはMonoDevelopIDEで使用されているため、このIDEを探しているものに使用できるかどうかを調べることもできます。

于 2011-12-12T17:19:28.733 に答える