VisualStudio断点调试基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VisualStudio断点调试基础相关的知识,希望对你有一定的参考价值。

断点调试运用的好的情况之下,可以轻松的解决DeBugger的任务。是时候总结一下VS的断点调试了。

首先讲一下本篇的一个重点 : “断点条件”。断点条件在有些IDE中叫做“断点属性”(例如:Flash Builder)。

步骤:

①:在断点上  右击-》条件... 如下图所示:

技术分享

②:在弹出的《断点条件》面板中,设置条件 name == "Aonaufly" 。如下图

(此处我想额外谈谈Flash Builder的条件 , 在FB中写为name = "Aonaufly")

技术分享

此时应该注意的是,“为true(T)”表示当条件为true时,进入此断点调试。另外注意的是此断点行“name”,所以在《断点条件》面板中可对name进行条件判断。

测试了一下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NetWorkTest
{
    public class Program
    {
        public string GetString(string @name)
        {
            string _back = "Hello " + @name; 
            Console.WriteLine(_back);
            return _back;
        }

        public static void Main(string[] args)
        {
            Program pro = new Program();
            string @rusult = pro.GetString("Aonaufly");
            Console.WriteLine(@rusult);
            string @cc = pro.GetString("Kayer");
            Console.WriteLine(@cc);
            Console.Read();
        }
    }
}

经测试string @rusult = pro.GetString("Aonaufly");此行可进入条件断点,而string @cc = pro.GetString("Kayer");则无法进入断点调试。

其次,关于其他的调试快捷建 F5 ,F10 , F11

F5 : 直接执行到下一个断点

详解: 我们先在Line21和Line24行处各打上断点。我们运行程序后,程序会自动断在Line21这个端点上。

技术分享

当我们按F5的时候,程序跳到下一个断点也就是Line24号断点上。中间的Line22和Line23都不会断在其处。另外Line21行处的GetString方法也不会进入其方法执行,总而言之就是直接跳到Line24(下一个断点处)。我们再按一次F5的话,程序就直接执行完毕了。


F11:逐语句执行,会进入到断点处方法的内部去执行

详解: 我们先在Line21和Line24行处各打上断点。我们运行程序后,程序会自动断在Line21这个端点上。

当我们按F11后,因为Line21处有方法GetString,程序会进入到GetString方法内部。如下图:

技术分享


F10 : 与F11很像,不同的地方时,它不会进入到断点处的方法内部去执行(如:Line21处断点的GetString方法),而是直接执行断点后面的语句如(Line21后面的Line22行)

技术分享


*命中条件

可以在VS的“输出”窗口中打印信息

测试:

        public int Test(int x)
        {
            if (x <= 1)
                return 1;
            return Test(x - 1) + Test(x - 2);
        }

如下图,在方法Line17处加一个断点。再如下图进行操作。

技术分享

在弹出的“命中断点时”的窗口中,进行如下操作。

技术分享

值得注意的是 : 继续执行的意思是,在此处不进行中断调试,程序继续运行,只是在“输出”窗口中打印信息

运行程序,看“输出”窗口如下

技术分享

本文出自 “Better_Power_Wisdom” 博客,请务必保留此出处http://aonaufly.blog.51cto.com/3554853/1908094

以上是关于VisualStudio断点调试基础的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio调试之断点基础篇

eclipse 断点调试

2019-11-29-VisualStudio-断点调试详解

C语言学习 -- VisualStudio基本调试方法

VisualStudio 在 DebuggerDisplay 的属性更改业务逻辑将会让调试和非调试下逻辑不同

无法调试Windows服务 - 断点当前不会被命中