1

このスレッドとまったく同じではありませんが、かなり近いです。

私のプログラムでは、実行時にコンパイル、ロード、実行される VB または C# コードを入力できます。私の CompilerParams は次のとおりです。

CompilerParameters params = new CompilerParameters();
params.GenerateExecutable = false;
params.GenerateInMemory = true;
params.IncludeDebugInformation = false;
params.TreatWarningsAsErrors = false;
params.WarningLevel = 4;

このコードが例外をスローしたときに、ユーザーがコードをデバッグするのに役立つメッセージ ボックスを表示できるようにしたいと考えています。例外メッセージは簡単ですが、行番号で行き詰まってしまいました。

行番号を取得するには、CompilerParameters を大幅に変更する必要があり、おそらくこれらの dll を保存/ロードする方法も変更する必要があると思います。

これを機能させるために必要な最小限の手順を知っている人はいますか?

4

1 に答える 1

2

OutputAssembly を一時ファイルに設定し、GenerateInMemory = false、IncludeDebugInformation = true を設定します。
これにより、シンボルが生成され、コード行で完全なスタック トレースを取得できるようになります。

于 2009-10-12T02:28:03.553 に答える