zoukankan      html  css  js  c++  java
  • 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。

     

  • 相关阅读:
    HDU 1010 Tempter of the Bone
    HDU 4421 Bit Magic(奇葩式解法)
    HDU 2614 Beat 深搜DFS
    HDU 1495 非常可乐 BFS 搜索
    Road to Cinema
    Sea Battle
    Interview with Oleg
    Spotlights
    Substring
    Dominating Patterns
  • 原文地址:https://www.cnblogs.com/didiaodidiao/p/9187024.html
Copyright © 2011-2022 走看看