全网整合营销服务商

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

免费咨询热线: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实战教程之基础入门  # 过程中  # 右击  # 鼠标  # 调试工具  # 这会  # 跳转到  # 有一个  # 返回值  # 的是  # 拖拽  # 是一个  # 就能  # 不需要  # 可以用  # 中有  # 会在  # 就把  # 可在  # 给大家  # 然后再 


相关文章: 怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何用y主机助手快速搭建网站?  如何在搬瓦工VPS快速搭建网站?  如何通过服务器快速搭建网站?完整步骤解析  智能起名网站制作软件有哪些,制作logo的软件?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  建站之星代理如何优化在线客服效率?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  网页设计网站制作软件,microsoft office哪个可以创建网页?  名字制作网站免费,所有小说网站的名字?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  定制建站如何定义?其核心优势是什么?  建站VPS能否同时实现高效与安全翻墙?  如何快速打造个性化非模板自助建站?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  全景视频制作网站有哪些,全景图怎么做成网页?  jQuery 常见小例汇总  贸易公司网站制作流程,出口贸易网站设计怎么做?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  如何在万网主机上快速搭建网站?  如何在阿里云虚拟服务器快速搭建网站?  建站主机无法访问?如何排查域名与服务器问题  开心动漫网站制作软件下载,十分开心动画为何停播?  如何快速搭建高效可靠的建站解决方案?  如何高效配置香港服务器实现快速建站?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  如何用AWS免费套餐快速搭建高效网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何在云服务器上快速搭建个人网站?  详解jQuery停止动画——stop()方法的使用  如何零成本快速生成个人自助网站?  网站制作价目表怎么做,珍爱网婚介费用多少?  如何快速查询网址的建站时间与历史轨迹?  C#如何序列化对象为XML XmlSerializer用法  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站主机如何选?性能与价格怎样平衡?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何通过多用户协作模板快速搭建高效企业网站?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  建站之星3.0如何解决常见操作问题?  如何在景安云服务器上绑定域名并配置虚拟主机?  ,想在网上投简历,哪几个网站比较好?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  PHP正则匹配日期和时间(时间戳转换)的实例代码  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  想学网站制作怎么学,建立一个网站要花费多少?  如何在云主机快速搭建网站站点? 

您的项目需求

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