VS2017多线程调试

1、在工具栏上右键——调试位置
菜单

工具栏如下:

工具栏

        static void Main(string[] args)
        {
            var list = new List<string>();
            for (int i = 1; i < 255; i++)
            {
                list.Add($"192.168.0.{i}");
            }
            var ips = list.ToArray();
            Parallel.ForEach(ips, PingTest);
            Console.ReadKey();
        }

        private static void PingTest(string host)
        {
            var p = new Ping();

            while (true)
            {
                var ret = p.Send(host, 500);
                if (ret.Status != IPStatus.Success)
                {
                    Console.WriteLine($"Ping {host} response {ret.Status}, time {ret.RoundtripTime}");
                }
                Thread.Sleep(500);
            }
        }

按F5启动调试之后,进程下拉框亮了,但线程并没有
运行后

这时候我们要在子线程中下个断点

image.png

这时候就可以切换线程了

image.png