转自:http://www.jb51.net/softjc/160533.html

设置断点:在如下图中的红色圆点处设置断点,红色圆点表示已经在这行设置断点。快捷键F9。

启动调试:按F5或者点击左边红框中的按钮。右边框是开始执行(不调试)Ctrl+F5。

调试工具栏:下面是工具栏中对应的名称和快捷键。

 

在调试过程中F5是执行到下一个断点。F11是逐语句,在执行到下图中的断点时,按F11会执行到Fibonacci方法里面逐步记录执行过程。F10是逐过程,与逐语句不同的是,在执行到下图中断点时,再执行会执行断点下面的语句,而不是去执行语句中的方法。

局部变量:在调试过程中可以查看局部变量窗口,如下图里面会有变量的当前状态。如果找不到的话在

数组的状态表示如下图:

InteliTrace记录每一步的调试状态。

条件中断

开发人员设置断点,运行程序,利用不同的输入触发断点,然后在断点处手工检查是否满足某些特定的条件,从而决定是否继续调查。如果当前场景不是他们想要的,按F5继续运行程序,尝试别的输入,手动重复刚才的过程。

针对上述情况,Visual Studio提供了一个方便得多的功能——“条件中断”。只有当程序满足了开发人员预设的条件后,条件断点才会被触发,调试器中断。这将避免频繁地手工检查/恢复程序运行,大量减少调试过程中的手工和烦琐工作。

如何设置条件断点:

设置条件断点非常容易。在特定的行上,按F9设置断点。

然后右击断点–编辑窗口左侧的红点,在上下文菜单上选择“条件”。

这时弹出一个对话框供你设置激活该断点所需的条件。比如:我们希望只有当x==5时,调试才中断。我们可以写出如下的表达式:

现在我再运行这个程序按F5达到条件断点,只有当x等于5时,程序运行才会被中断。对于其它条件下的x值,断点将被跳过。

记录到达断点次数

有时你希望,只有当第N次满足条件的运行到达断点时,才中断程序运行。例如:当第一次命中断点。可以通过右击断点,然后在弹出菜单上选择“命中次数”菜单命令实现。

这时系统弹出一个对话框,它允许你指定:(1)当满足条件,而且进入断点的累计次数等于N时,断点命中一次。(2)当满足条件,而且进入断点的累计次数是N的倍数时,断点命中一次。(3)当满足条件,而且进入断点的累计次数大于N时,每次命中断点。

注意:如果多个条件同时用的话,结果取交集。

断点筛选器

例如,在调试一个服务程序时在其内部打上了断点,由于这是一个公用的服务不希望其他访问这个服务的程序被所设断点调试干扰,怎么办?断点筛选器就是限制只在某些进程和线程中设置断点。筛选器文本框中输入以下一个或多个子句,可以使用&(AND)、||(OR)、!(NOT)和圆括号组合这些子句描述应在何处设置断点的表达式,或者清除该表达式以便在所有进程和线程中设置断点。比如,希望断点只在被机器名为xye-PC的机器访问时才触发,我们可以右击断点进行断点筛选器设置。当其他机器访问程序的时候断点不会触发,其他机器访问时感觉不到断点的存在。

跟踪点—进入断点时的自定义操作

许多人不知道“跟踪点(TrackPoints)”这个调试功能。“跟踪点“是种特殊的断点,当它被命中时,它会触发一系列自定义操作。如果你想观察程序的行为,而又不想中断调试的时候,这个功能尤其有用。

我将用一个简单的控制台程序来演示如何使用“跟踪点”。如下是斐波那契数列的一个递归实现:

以上程序中,我们使用Console.WriteLine() 输出针对特定输入值生成的最终斐波那契数列。如果希望在调试器里观察操作中每一次递归运算后的数列而又不实际中断程序运行,该怎么办呢?“跟踪点”可以轻松实现。

设置跟踪点:

你可以在特定的行上,按F9加跟踪点。然后右击断点,在上下文菜单中选择“命中条件”:

在弹出对话框上,你可以设置命中该断点时,所触发的事件。

在上面例子中,我们设定一旦命中断点时就打印追踪信息。注意,我们已经把局部变量“x”的值,作为追踪信息的一部分输出。局部变量可以通过{变 量名}语法输出。你还可以利用系统内置的命令($CALLER, $CALLSTACK, $FUNCTION等等),在追踪信息中输出常用的调试值。

在上例中,我们同时选中了底端的“continue execution“选项,这说明我们不希望程序中断调试状态,而是继续运行。唯一的不同是:每次断点条件满足时,我们的自定义追踪信息都将被输出。

现在当我们运行程序时,会发现自定义追踪信息自动显示在Visual Studio的“输出“窗口里。这让我们很容易看到程序的递归调用过程:

你也可以选择往应用程序中添加一个自定义追踪信息的监听器。这时追踪点的输出信息将通过它输出,而不是Visual Studio的“输出“窗口。

vs2010断点调试详细教程相关推荐

  1. eclipse java 单步调试快捷键,Eclipse如何调试 Eclipse调试详细教程

    Eclipse作为开发者必备的一款常用软件,有许多开发者还不知道eclipse的debug功能该如何使用,debug模式简称为调试,可以自动编译出项目中的问题,小编今天就为大家带来了Eclipse使用 ...

  2. Java断点调试 idea断点调试 debug教程

    IDEA断点调试 Java程序断点调试 文章目录 IDEA断点调试 Java程序断点调试 前言 一.什么情况下需要debug 二.使用idea如何进行debug 三.假设案例分别进行debug教程 1 ...

  3. idea断点调试详细步骤

    idea断点调试 参考链接: https://blog.csdn.net/Applying/article/details/82925061 1.Drop Frame 回退断点,回到上一个方法,按照调 ...

  4. python断点调试从哪里看数据_Python Pdb 断点调试 - 简明教程

    Pdp 调试 pdb是一种在命令行下面调试的古老的方法,虽然没有现代IDE集成的debug功能强大,但是简单通用,大部分语言都支持. main.py 1 for x in range(10): 2 p ...

  5. ADB调试--详细教程(附华为手机无法显示设备解决方法)

    终端打开开发者模式,用数据线连接电脑,然后按照下面的步骤操作 1.开启开发者选项: 设置->关于设备->版本号(连续点击5次) 2.打开USB调试 在开发者选项中,找到USB调试,将此打开 ...

  6. iOS真机调试详细图文教程

    相关文章链接: < Xcode7 免证书/$99 真机调试教程 > <Provisioning Profile和Code Signing常见问题,原因分析及解决方法汇总.> 最 ...

  7. clion配置_Ubuntu16.04系统下用CLion编译器调试ROS代码详细教程

    本教程主要实践如何创建一个ROS工作空间和功能包实现基于ROS的信息发送和接收,同时用CLion如何去调试这个ROS工程.ROS允许多个工作空间并存,每个工作空间中创建需要的功能包,功能包创建于工作空 ...

  8. Postman测试工具调试接口详细教程【向后端发送Json数据并接收返回的Json结果】

    Postman测试工具调试接口详细教程 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.跳转网站:人工智能学习网站 简介 Postman,中文译为邮递员,邮差 Pos ...

  9. IDEA2022版教程下(快键键总结、Debug断点调试总结、22版本idea创建各种工程、关联数据库、常用插件)

    8.快捷键的使用 8.1 常用快捷键 1 通用型(复制,黏贴,剪贴-) 说明 快捷键 复制代码-copy ctrl + c 粘贴-paste ctrl + v 剪切-cut ctrl + x 撤销-u ...

  10. quarkus 入门教程(二) -项目开发模式热更新及项目断点调试方法

    quarkus 入门教程(二) -项目断点调试方法 1.项目热更新 quarkus:dev runs 方式启动,项目会以开发者模式启动,当修改了java文件或者resource文件后,项目会在后台编译 ...

最新文章

  1. mysql并发 node_nodejs下mysql性能测试
  2. AdaBoostClassifier实战
  3. Java IO流(三)
  4. cell重用的几种方式
  5. 案例:返回固定页面的http服务器
  6. 安利几款语音识别软件
  7. 如何用 JavaScript 下载文件
  8. javascript面试题(一)
  9. python 百分号调用内置函数_建议你吃透python这68个内置函数!
  10. python安装报错error: pybind11 2.10+ requires MSVC 2017 or newer
  11. 个人永久性免费-Excel催化剂功能第53波-无比期待的合并工作薄功能
  12. Python入门: 贪吃蛇详解
  13. Python题综合练习一
  14. 关于Vcc和Vdd的区别
  15. 微信小程序 js中遍历list
  16. 你的产品适不适合做微信小程序?你需要这篇产品逻辑分析
  17. 【IPF2020】浪潮集团执行总裁、首席科学家王恩东:智慧计算、源动新基建
  18. MTK原厂,MT6771参考设计最新资料
  19. Ciclop开源3D扫描仪软件---Horus源码分析之Image_capture.py
  20. 这份网络安全入门笔记(共327页),助你步入安全门槛

热门文章

  1. 推荐一个超级方便的Android 抓包工具 Chuck
  2. 《21天学通Java(第7版)》—— 2.7 总结
  3. bugku 社工-初步收集
  4. 开发Connext DDS传输插件不用求人,看这一篇就够了
  5. python数学竞赛名次_如何让孩子在数学竞赛中取得好名次
  6. axis wsdl2java_信步漫谈之Axis2—wsdl2java工具使用
  7. 一个Keil工程包含的内容
  8. 如何重新安装微软应用商店
  9. JQuery Easyui/TopJUI 基本树形表格的创建
  10. Tomcat的下载及安装