如何使用C#执行vsjitdebugger.exe

时间:2018-07-24 06:00:49

标签: c#

我想使用以下代码为某些过程执行“ vsjitdebugger.exe”:

var myapp = Process.Start(@"path\to\myapp.exe");
Process.Start("vsjitdebugger.exe", $"-p {myapp.Id}").WaitForExit();

但是失败了。
退出代码为“ -1”,不显示窗口。

要执行vsjitdebugger.exe,我必须做什么?

UPATE#1
我只想立即将调试器附加到特定进程。
这就是为什么我提供代码方式而不是注册表方式。

以管理员身份执行:

var myapp = Process.Start(@"path\to\myapp.exe");
Process.Start(new ProcessStartInfo()
{
     FileName = @"vsjitdebugger.exe",
     Arguments = "-p {myapp.Id}",
     Verb = "runas"
}).WaitForExit();

在UAC屏幕之后也失败。

1 个答案:

答案 0 :(得分:0)

通过代码启动实时调试器对您不起作用,因为您必须以管理员权限运行才能使用它。

您可以做的是,根据需要的过程启动调试器Automatically

在尝试通过C#执行流程之前,我还建议阅读有关Visual Studio here的JIT的更多信息。

这根本不安全,被认为是不好的做法。除非有紧急需求,否则我建议您先最大化其他所有可能性。