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小时内与您取得联系。