如何远程调试控制台应用程序

时间:2015-03-19 16:04:18

标签: c# .net visual-studio-2010 debugging remote-debugging

有没有人知道如何远程调试控制台应用程序? 用snippet我可以把执行进程util保存到主代码中但是,当我从VS断点附加到进程时出现不可命中。

static void Main(string[] args)
{
    if (args.Any(arg => arg == "debug"))
    {          
        while (!Debugger.IsAttached)
        {           
            Thread.Sleep(10000);
        }
        Debugger.Break();
     }
}       

enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

您所展示的不是远程调试的工作原理。您在另一台计算机上运行应用程序(通常在您的工作组/域中),并在REMOTE计算机上安装了与您的Visual Studio版本匹配的远程调试工具。确保部署编译为DEBUG的应用程序,并在远程计算机上提供符号。

然后在本地计算机上,您需要转到调试菜单 - >附加到Process并将调试器连接到要在远程计算机上调试的正在运行的进程。现在,当代码运行并命中您在本地设置的断点(或异常)时,您将看到本地计算机上的调试器暂停。

MSDN:https://msdn.microsoft.com/en-us/library/vstudio/bt727f1t%28v=vs.110%29.aspx

编辑 - 查找符号文件:

如果查看已编译二进制文件的位置(bin文件夹然后是编译类型)并找到以* .pdb结尾的文件。这包含符号。确保它与远程计算机上的exe位于同一位置