2012-04-10 1 views
1

にデバッガをアタッチする方法(スクリプトは、言語はC#です。彼らは、リフレクションを介して実行されている)あなたがにコードを入力できるウィンドウがあり、私の.NETアプリケーションでスクリプト

は私がコンパイルされたアプリケーションのデバッグスクリプトの可能性を必要としますVisual Studioの場合と同じです。それはMSデバッガまたはそれ以外のものを使用することは可能ですか?はいの場合はどうすればいいですか?

編集:Visual Studioなしで行うことはできますか?

広くは、それはそうです: ユーザーがコードを入力し、「実行」を押します。 Sスクリプトは.dllに組み込まれています。そして、それは(メソッドインフォ.Invoke()を通して)反射を通して実行されています。

+0

.NET 4にはバグがあります(.NET 4.5では修正されていますが、同じコードを再実行するときにブレークポイントが再評価されることはありません)。 https://connect.microsoft.com/VisualStudio/feedback/details/684089/debugger-fails-to-re-evaluate-breakpoints-when-new-code-is-executed-in-a-transient-assembly – leppie

答えて

0

アプリを起動し、Visual Studioで[デバッグ]> [プロセスにアタッチ]を選択し、プロセスを選択します。これにより、アプリのプリコンパイルされた部分を確実にデバッグできるようになります。ユーザーが入力したスクリプトをデバッグする場合は、実行方法によって異なります。

編集:あなたの質問を読んで、あなたのアプリケーションを使って、ユーザコードをデバッグすることができるかどうかを尋ねてきたと思います。それがあれば、私はそれが可能かどうかは分かりません。それは潜在的に非常に難しいと私を襲いますが、それはあなたがあなたのコードをどのように実行しているかによって異なります。詳細が役立ちます。

0

System.Diagnostics.Debugger.Break()を使用して、実行を停止し、デバッガを開きます。 またはSystem.Diagnostics.Debugger.Launch()を使用すると、デバッガを起動してプロセスに接続できます。

関連する問題