全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Visual Studio Debugger七个鲜为人知的小功能

Visual Studio debugger是一个很棒的调试工具,可以帮助程序猿们快速地发现和解决问题。这里给大家简单介绍一下VS调试工具中的七个鲜为人知的小功能。

1. 一键跳转到指定语句

调试过程中经常需要拖拽黄箭头,使特定语句执行或者不执行。常规方法就是使用鼠标直接拖拽。

在Visual Studio 2017 15.3预览版中,有一个更简单地跳转到目标行的方法:在目标行盘旋鼠标指针,出现绿色竖线右箭头图标后,按住CTRL后鼠标左键点击,就把调试黄箭头移过去了,再点击调试下一步或者F5就直接在指定行运行了。

2. 添加指定实例值的断点

有时候某个实例的属性值会莫名其妙的变化,当我们需要知道为什么变化的时候,会在属性代码中添加断点,但是这会对所有实例都生效。

在调试的时候,可以使用Make Object ID和Conditional Breakpoint功能去添加指定实例的断点,具体如下:

首先我定义了一个类,并初始化了两个对象,更改PointX的值,想要添加实例a的PointX值的改变断点

在调试过程中,右击实例a选择Make Object ID

这时实例a被赋值到$1中,在要添加的断点出右击选择Conditions…

添加$1 == this代码后,再运行程序,则在实例a属性改变的时候断点生效,实例b属性改变的时候不生效了。

注意Make Object ID记录的是内存中对象的地址,下次调试的时候就改变了,需要重新设置。

3. 重新附加进程

Attach to Process是大家经常需要用的功能,Visual Studio 2017中有一个新的选项叫做Reattach to Process,可以方便大家重新附加到最近一次附加到的进程上。

先附加到一个进程上,点击Stop Debugging,然后再点击Debug就能看到里面的Reattach to Process选项了。

4. 显示所有的线程

在调试过程中,调试工具栏中有一个新的选项叫做:Show Threads in Source。点击后即可在有线程停止的代码行前显示一个图标,鼠标停留在图标上显示线程,右击图标可以显示可用操作。

注意这个功能可能影响调试效率,如果不需要的话建议默认关闭。

5. 临时禁用指定断点

当进行多线程调试的时候,可以利用Disable Breakpoint功能临时禁用指定断点,防止其它线程由于断点中断,影响当前线程的调试工作。

6. 查看所有线程的调用栈

调试过程中,在Command Window中输入”Debug.ListCallStack -AllThreads”,即可看到所有线程的调用栈。

也可以用WinDBG命令”~*k”:

7. 使用无负面效果的方法评估

有时候可能需要在调试Watch窗口中查看一个方法的返回值,但是真正执行这个方法的时候可能会产生负面效果,这里可以在Watch窗口输入的时候添加”, nse”来避免负面效果,是”No Side Effects”的缩写。例子如下:

刚开始Add执行了六次,所以testList总数是6,

现在想查看Add当前执行的返回值,可以在Watch窗口输入Add(1),但是这会产生负影响,改变testList的值为7,

因此如果想不影响testList的原始值,则需要加上”, nse”,如下显示是8,但是testList原始值未变还是7:

介绍到此为止,有你喜欢的调试小功能么,欢迎来评论~

PS:只是介绍,不喜勿喷。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Visual  # Studio  # Debugger  # Visual Studio Debug实战教程之断点操作  # Visual Studio Debug实战教程之基础入门  # 过程中  # 右击  # 鼠标  # 调试工具  # 这会  # 跳转到  # 有一个  # 返回值  # 的是  # 拖拽  # 是一个  # 就能  # 不需要  # 可以用  # 中有  # 会在  # 就把  # 可在  # 给大家  # 然后再 


相关文章: 学校建站服务器如何选型才能满足性能需求?  网站制作的步骤包括,正确网址格式怎么写?  如何在IIS中新建站点并配置端口与物理路径?  如何在Windows服务器上快速搭建网站?  建站之星北京办公室:智能建站系统与小程序生成方案解析  建站主机无法访问?如何排查域名与服务器问题  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何零成本快速生成个人自助网站?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  小型网站制作HTML,*游戏网站怎么搭建?  建站之星如何优化SEO以实现高效排名?  如何用VPS主机快速搭建个人网站?  中山网站制作网页,中山新生登记系统登记流程?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  ui设计制作网站有哪些,手机UI设计网址吗?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  javascript基本数据类型及类型检测常用方法小结  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  建站之星如何保障用户数据免受黑客入侵?  电商网站制作价格怎么算,网上拍卖流程以及规则?  网站制作话术技巧,网站推广做的好怎么话术?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  如何挑选优质建站一级代理提升网站排名?  如何选择CMS系统实现快速建站与SEO优化?  如何使用Golang table-driven基准测试_多组数据测量函数效率  济南网站制作的价格,历城一职专官方网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  小建面朝正北,A点实际方位是否存在偏差?  高端网站建设与定制开发一站式解决方案 中企动力  如何快速查询域名建站关键信息?  淘宝制作网站有哪些,淘宝网官网主页?  制作网站公司那家好,网络公司是做什么的?  网站制作新手教程,新手建设一个网站需要注意些什么?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  建站之星展会模板:智能建站与自助搭建高效解决方案  建站OpenVZ教程与优化策略:配置指南与性能提升  黑客如何通过漏洞一步步攻陷网站服务器?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  非常酷的网站设计制作软件,酷培ai教育官方网站?  网站制作公司,橙子建站是合法的吗?  Python如何创建带属性的XML节点  建站之星安装步骤有哪些常见问题?  如何自定义建站之星网站的导航菜单样式?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  Swift开发中switch语句值绑定模式  清除minerd进程的简单方法  设计网站制作公司有哪些,制作网页教程? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。