Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将调试器附加到脚本_C#_.net_Visual Studio_Debugging - Fatal编程技术网

C# 如何将调试器附加到脚本

C# 如何将调试器附加到脚本,c#,.net,visual-studio,debugging,C#,.net,Visual Studio,Debugging,在我的.NET应用程序中有一个窗口,您可以在脚本中键入代码,语言是C。它们通过反射运行 我需要在编译后的应用程序中调试脚本,就像在VisualStudio中一样。是否可以使用MS Debugger或任何其他工具?如果是,怎么办 编辑:没有VisualStudio可以吗 嗯,大体上说,是这样的: 用户输入代码,按Run。脚本正在.dll中生成。然后它通过反射而不是methodInfo.Invoke运行。启动您的应用程序,然后在Visual Studio中选择“调试”>“附加到进程”,然后选择您的进

在我的.NET应用程序中有一个窗口,您可以在脚本中键入代码,语言是C。它们通过反射运行

我需要在编译后的应用程序中调试脚本,就像在VisualStudio中一样。是否可以使用MS Debugger或任何其他工具?如果是,怎么办

编辑:没有VisualStudio可以吗

嗯,大体上说,是这样的:
用户输入代码,按Run。脚本正在.dll中生成。然后它通过反射而不是methodInfo.Invoke运行。

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


编辑:在重读您的问题时,我想您是在问是否可以使用您的应用程序而不是Visual Studio调试用户代码。如果是这样的话,我不确定这是否可能。我觉得这可能非常困难,但这取决于您运行用户代码的方式。更多详细信息会有所帮助。

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

请注意,.NET 4.5中修复了.NET 4中的一个错误,该错误防止在“运行”相同代码时重新计算断点,当然是在新的内存程序集中。