Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.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# 如何在没有Visual Studio的情况下附加到64位进程?_C#_.net_Debugging - Fatal编程技术网

C# 如何在没有Visual Studio的情况下附加到64位进程?

C# 如何在没有Visual Studio的情况下附加到64位进程?,c#,.net,debugging,C#,.net,Debugging,在没有Visual Studio的情况下,如何将调试器附加到正在运行的64位.net进程 我试过: 但它不允许连接到64位进程 但它没有“附加到进程…”选项 可以与64位.net应用程序一起使用的JIT调试器也很好 我需要这样做的原因是我有一个应用程序,它编译C#脚本,由应用程序的用户编写,并运行它们。我希望应用程序的用户能够调试脚本,但我不希望每个应用程序用户都需要VisualStudio许可证,因此我正在寻找解决此问题的免费解决方案 编辑: 我也不想给用户我所有的源代码,但只有二进制文

在没有Visual Studio的情况下,如何将调试器附加到正在运行的64位.net进程

我试过:

  • 但它不允许连接到64位进程
  • 但它没有“附加到进程…”选项
可以与64位.net应用程序一起使用的JIT调试器也很好

我需要这样做的原因是我有一个应用程序,它编译C#脚本,由应用程序的用户编写,并运行它们。我希望应用程序的用户能够调试脚本,但我不希望每个应用程序用户都需要VisualStudio许可证,因此我正在寻找解决此问题的免费解决方案

编辑:

  • 我也不想给用户我所有的源代码,但只有二进制文件
  • 脚本是C代码,在我的应用程序运行时编译

尝试使用扩展名的WinDbg。SOS是旧WinDbg调试器的托管调试扩展。

Visual Studio Express 2008/2010是否有帮助?

我曾经认为使用C作为脚本语言是个好主意。然后我发现。FWIW,PowerShell具有内置调试支持,以及对所有.NET Framework功能和库的访问。实际上,这些不是常规的C#脚本,而是在运行时编译的C#源代码,因此我可以编写Debugger.Break()来启动JIT调试器(如果可用),或附加到进程。