• VS2017的一些调试方法技巧


    VS2017的一些调试方法技巧

    一、基本的操作。

    1、启动调试。

    可以通过VS的调试(Debug)菜单启动调试。点击调试菜单下的“启动调试”或者按F5键启动。如果你已经在代码中加入了断点,那么执行会自动开始。

    注:退出调试快捷键shift+F5。

    img

    图 启动调试(Start Debugging)

    2、断点(Breakpoints)。

    断点用于通知调试器何时何处暂停程序的执行。通过点击左边栏或者按F9键在当前行添加断点。在加断点之前,你需要知道你的代码将会出现什么错误,在什么地方停止执行。当调试器执行到断点处时,你可以使用其他的调试工具核对代码何处出现错误。

    img

    图 设置断点(Set Breakpoint)

    3、逐过程(Step Over)

    调试器执行到断点后,你可能需要一条一条的执行代码。”Step Over“[F10]命令用于一条一条的执行代码。这将执行当前高亮的行,然后暂停。如果在一条方法调用语句高亮时按F10,执行会停在调用语句的下一条语句上。Step Over会一次整个方法。

    img

    图 逐过程(Step Over)

    4、逐语句(Step Into)
    它与Step Over相似。唯一的不同是,如果当前高亮语句是方法调用,调试器会进入方法内部。快捷键是”F11“。

    img

    图 逐语句(Step Into)

    5、跳出(Step Out)
    当你在一个方法内部调试时会用到它。如果你在当前方法内按Shift - F11,调试器会完成此方法的执行,之后在调用此方法的语句的下一条语句处暂停。

    img

    图 跳出(Step Out)

    6、继续(Continue)它像是重新执行你的程序。它会继续程序的执行直到遇到下一个断点。快捷键是”F5“。

    7、设置下一语句(Set Next Statement)
    这是一个非常有趣的特性。设置下一语句允许你在调试的时候改变程序的执行路径。如果你的程序在某一行处暂停而且你想改变执行路径,跳到指定行,在这一行上右击,在右击菜单中选择”设置下一语句“。这样程序就会转到哪一行执行而不执行先前的代码。这在如下情况中非常有用:当你发现代码中某些行可能会导致程序的中断(break)而你不想让程序在那个时候中断。快捷键是Ctrl + Shift + F10。

    img

    二、有关内存的。

    在vs中调试程序的,有时候需要设置断点看某个变量的内容,如果变量是一个指针、数组或结构体,则可以通过查看该变量所指向的内存来看变量的内容。

    1、在vs2016中打开内存窗口
    在vs2008调试界面中,点击菜单【调试】->【窗口】->【内存】->【内存1】/【内存2】/【内存3】/【内存4】即可打开内存窗口。

    img

    2、找到要查看的变量的内存地址
    在VS调试界面中,右键点击要查看内存的变量,在弹出菜单中点击【添加监视】,该变量将被添加到监视窗口中,在监视窗口中该变量对应的【值】列就是该变量对应的内存的地址。

    img

    3、将变量地址输入到内存窗口中(也可以直接拖进去)
    在内存窗口中,输入要监视的变量的地址(如0x001926E6),回车即可看到该内存块的内容了。
    也可以尝试输入&+变量名。

    img

    4、设置内存存储的内容的显示方式
    在内存界面中,默认显示的是16进制的单字节整数,可以通过在显示区点击右键,在弹出菜单中选择内存内容的显示方式。如作为双字节整数显示、4字节整数显示、是否显示符号位等。

    img

    注【式例代码】

     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。

    img

    转载自:https://www.cnblogs.com/didiaodidiao/p/9187024.html

  • 相关阅读:
    python学习笔记(五)
    python学习笔记(四)
    Jenkins学习系列——iOS打包任务的创建和配置
    Jenkins学习系列——jenkins平台搭建和配置
    java及java web学习笔记
    mac book下批量替换多个文件中的字符
    MAC的sed和GNU不一样
    python杂记
    appium ios环境搭建——iOS开发环境搭建
    ideviceinstaller报Segmentation fault: 11错误解决过程
  • 原文地址:https://www.cnblogs.com/k-class/p/13837232.html
Copyright © 2020-2023  润新知