调试是编程过程中一个很常用很重要的手段,使用visual studio编程时怎样调试呢?
工具/原料:
电脑
visual studio 软件。
方法/步骤:
在visual studio “调试”>>“启用调试”,就可以开始调试程序,或者使用快捷键F5。调试会从程序的头部开始执行,如:main函数,网页中的Page_Load。
还可以打断点进行调试,在你希望程序走到哪一步中断的位置打上断点,如下图所示。之后执行调试,如果该断点是在事件响应中的,那该事件发生时,程序会在该断点处中断。(断点处的程序在中断时不会执行)
处于中断模式时,把鼠标移动到变量或者对象上,可以看到它的值或者它属性的值。
当程序中断后可以按F11逐语句执行程序(逐语句执行时遇到调用或属性的情况,将会进入调用的方法或者属性进行逐行执行)。
当程序中断后可以按F10逐过程执行程序(逐语句执行时遇到调用或属性的情况,将不会进入调用的方法或者属性进行逐行执行,整个方法会一步执行,只给出结果,不会显示调用方法执行的具体细节)。
当按F11进入一个方法执行时按Shift + F11可跳出该方法,返回原调用该方法的语句处执行下一条语句。
F5,恢复程序的继续运行,除非遇到另一个断点。
方法/步骤
1
在visual studio “调试”>>“启用调试”,就可以开始调试程序,或者使用快捷键F5。调试会从程序的头部开始执行,如:main函数,网页中的Page_Load。
2
还可以打断点进行调试,在你希望程序走到哪一步中断的位置打上断点,如下图所示。之后执行调试,如果该断点是在事件响应中的,那该事件发生时,程序会在该断点处中断。(断点处的程序在中断时不会执行)
3
处于中断模式时,把鼠标移动到变量或者对象上,可以看到它的值或者它属性的值。
当程序中断后可以按F11逐语句执行程序(逐语句执行时遇到调用或属性的情况,将会进入调用的方法或者属性进行逐行执行)。
当程序中断后可以按F10逐过程执行程序(逐语句执行时遇到调用或属性的情况,将不会进入调用的方法或者属性进行逐行执行,整个方法会一步执行,只给出结果,不会显示调用方法执行的具体细节)。
当按F11进入一个方法执行时按Shift + F11可跳出该方法,返回原调用该方法的语句处执行下一条语句。
F5,恢复程序的继续运行,除非遇到另一个断点。
在visual studio “调试”>>“启用调试”,就可以开始调试程序,或者使用快捷键F5。调试会从程序的头部开始执行,如:main函数,网页中的Page_Load。
还可以打断点进行调试,在你希望程序走到哪一步中断的位置打上断点,如下图所示。之后执行调试,如果该断点是在事件响应中的,那该事件发生时,程序会在该断点处中断。(断点处的程序在中断时不会执行)
处于中断模式时,把鼠标移动到变量或者对象上,可以看到它的值或者它属性的值。
当程序中断后可以按F11逐语句执行程序(逐语句执行时遇到调用或属性的情况,将会进入调用的方法或者属性进行逐行执行)。
当程序中断后可以按F10逐过程执行程序(逐语句执行时遇到调用或属性的情况,将不会进入调用的方法或者属性进行逐行执行,整个方法会一步执行,只给出结果,不会显示调用方法执行的具体细节)。
当按F11进入一个方法执行时按Shift + F11可跳出该方法,返回原调用该方法的语句处执行下一条语句。
F5,恢复程序的继续运行,除非遇到另一个断点。
方法/步骤
1
实际上我们在下意识地按下“F5”键时。vs已经开始调试了。那为什么程序并没能停下来呢?那是因为我们没有设置断点。
2
设置断点的方法。在你想让程序停下来的地方,找到如图代码左侧的那个竖直栏,用鼠标点一下会生成一个红点。再重新按F5。程序就会执行到断点暂停了。
3
暂停时vs会自动为我们展示当前局部变量的值以及堆栈上正在调用的函数。这是十分有用的。可以让我们清晰地知道错误可能出现在哪。
4
按“F10”会执行“下一步”。而按“F11”会执行“下一句”。这两个的区别在于,F10会执行当前层次,就是在同一函数或同一递归层次的“下一步”。而F11会执行“自然意义”的下一步。
5
似乎有点抽象。举个例子吧。如图下一步是要执行一个函数。当前层次的下一步就是”执行完这个函数“。自然意义上的下一步就是”执行这个函数的第一步“
6
按了F10后
7
按了F11后
8
好了。、此外还有ctrl+shift+F5可以快速地重新编译并重新调试这个工程。shift+F11可以跳回刚刚按F11的位置~嗯。、知道这几个调试功能就用得差不多了。
快捷键F5,项目右键菜单->调试->启用新实例,点击项目右键菜单->属性->配置属性->调试,可以设置调试的相关参数:
1、命令:默认是$(TargetPath),就是启动输出的可执行程序;
2、命令参数:启动被调试程序时使用的命令行参数;
3、工作目录:启动被调试程序时使用的当前文件夹。影响GetCurrentDir,以及加载dll;
4、附加:否-启动新进程 是-附加到已经存在的进程中。