有没有人知道如何远程调试控制台应用程序? 用snippet我可以把执行进程util保存到主代码中但是,当我从VS断点附加到进程时出现不可命中。
static void Main(string[] args)
{
if (args.Any(arg => arg == "debug"))
{
while (!Debugger.IsAttached)
{
Thread.Sleep(10000);
}
Debugger.Break();
}
}
答案 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位于同一位置