2012-04-10 95 views
1

在我的.NET应用程序有一个窗口,你可以输入代码转换成(脚本语言是C#,它们都通过反射运行)如何安装调试器脚本

我需要在编译的应用程序调试脚本的可能性就像在Visual Studio中一样。是否有可能使用MS调试器或其他任何其他?如果是的话?

编辑:没有Visual Studio可以吗?

好吧,一般来说,就是这样的: 用户输入代码,按“运行”。 Script正在建立在.dll中。然后它通过反射运行(而不是通过methodInfo.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 2012-04-10 08:30:07

回答

0

启动您的应用程序,然后在Visual Studio中选择“调试”>“附加到进程”,然后选择您的进程。这肯定会让你调试你的应用程序的预编译部分。至于调试用户输入的脚本......我想这取决于你如何运行它们。

编辑:关于重读您的问题,我想您问是否可以使用您的应用程序调试用户代码,而不是使用Visual Studio。如果是这样,我不确定这是否可能。它让我觉得很可能非常困难,但这取决于你是如何运行用户代码的。更多细节会有所帮助。

0

使用System.Diagnostics.Debugger.Break()停止运行并打开调试程序。 或System.Diagnostics.Debugger.Launch()启动并将调试程序附加到进程。