VS2017的一些调试方法技巧
一、基本的操作。
1、启动调试。
可以通过VS的调试(Debug)菜单启动调试。点击调试菜单下的“启动调试”或者按F5键启动。如果你已经在代码中加入了断点,那么执行会自动开始。
注:退出调试快捷键shift+F5。
图 启动调试(Start Debugging)
2、断点(Breakpoints)。
断点用于通知调试器何时何处暂停程序的执行。通过点击左边栏或者按F9键在当前行添加断点。在加断点之前,你需要知道你的代码将会出现什么错误,在什么地方停止执行。当调试器执行到断点处时,你可以使用其他的调试工具核对代码何处出现错误。
图 设置断点(Set Breakpoint)
3、逐过程(Step Over)
调试器执行到断点后,你可能需要一条一条的执行代码。”Step Over“[F10]命令用于一条一条的执行代码。这将执行当前高亮的行,然后暂停。如果在一条方法调用语句高亮时按F10,执行会停在调用语句的下一条语句上。Step Over会一次整个方法。
图 逐过程(Step Over)
4、逐语句(Step Into)
它与Step Over相似。唯一的不同是,如果当前高亮语句是方法调用,调试器会进入方法内部。快捷键是”F11“。
图 逐语句(Step Into)
5、跳出(Step Out)
当你在一个方法内部调试时会用到它。如果你在当前方法内按Shift - F11,调试器会完成此方法的执行,之后在调用此方法的语句的下一条语句处暂停。
图 跳出(Step Out)
6、继续(Continue)它像是重新执行你的程序。它会继续程序的执行直到遇到下一个断点。快捷键是”F5“。
7、设置下一语句(Set Next Statement)
这是一个非常有趣的特性。设置下一语句允许你在调试的时候改变程序的执行路径。如果你的程序在某一行处暂停而且你想改变执行路径,跳到指定行,在这一行上右击,在右击菜单中选择”设置下一语句“。这样程序就会转到哪一行执行而不执行先前的代码。这在如下情况中非常有用:当你发现代码中某些行可能会导致程序的中断(break)而你不想让程序在那个时候中断。快捷键是Ctrl + Shift + F10。
二、有关内存的。
在vs中调试程序的,有时候需要设置断点看某个变量的内容,如果变量是一个指针、数组或结构体,则可以通过查看该变量所指向的内存来看变量的内容。
1、在vs2016中打开内存窗口
在vs2008调试界面中,点击菜单【调试】->【窗口】->【内存】->【内存1】/【内存2】/【内存3】/【内存4】即可打开内存窗口。
2、找到要查看的变量的内存地址
在VS调试界面中,右键点击要查看内存的变量,在弹出菜单中点击【添加监视】,该变量将被添加到监视窗口中,在监视窗口中该变量对应的【值】列就是该变量对应的内存的地址。
3、将变量地址输入到内存窗口中(也可以直接拖进去)
在内存窗口中,输入要监视的变量的地址(如0x001926E6),回车即可看到该内存块的内容了。
也可以尝试输入&+变量名。
4、设置内存存储的内容的显示方式
在内存界面中,默认显示的是16进制的单字节整数,可以通过在显示区点击右键,在弹出菜单中选择内存内容的显示方式。如作为双字节整数显示、4字节整数显示、是否显示符号位等。
注【式例代码】
1 #include<iostream>
2 using namespace std;
3
4 int Factorial(int x)//计算阶乘的函数
5 {
6 int sum = 1;
7 for (int i = 1; i <= x; i++)
8 {
9 sum *= i;
10 }
11 return sum;
12 }
13
14 int main()
15 {
16 int sum = 0;
17 for (int i = 1; i <= 10; i++)//计算1到10的阶层之和
18 {
19 sum += Factorial(i);
20 }
21
22 cout << sum << endl;
23
24 system("pause");
25 return 0;
26 }
其他问题
【vs闪退问题】
编译快捷键是ctrl+F5,最开始以为是F5,就造成了每次程序运行了就退出了。
如果还没解决你的问题请点击链接--------->>>>https://www.cnblogs.com/didiaodidiao/p/9217607.html
【vs格式化代码】
1、选中需要格式化的代码。
2、选中需要格式化的代码,按Ctrl+K,出现下面的标志。
3、最后按Ctrl+F。