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:只是介绍,不喜勿喷。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
使用Fiddler调试visual studion多个虚拟站点的问题分析
1:localhost.和127.0.0.1.带来的URL行为不一致 无法走本地代理,这个无法本地调试的问题并不是个BUG,微软官方是有给出过解释的,这是源于IE浏览器和.NET框架对于本地请求是不走代理的,因而Fiddler无法检测数据.于是为本地地址加.符号,这就带来URL行为不一致的问题. 取当前Context.Request.URL,会发现系统自动将地址中的.符号忽略了,这为我们针对URL编码带来了不一致的问题: 2:target machine actively refused it(
-
分享Visual Studio原生开发的10个调试技巧
最近碰巧读了Ivan Shcherbakov写的一篇文章,<11个强大的Visual Studio调试小技巧>.这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧.我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧.(如果你是工作在托管代码下,调试器会有更多的特性,在CodeProject中有介绍它们的文章),下面是我的整理的一些技巧: 异常中断 | Break on Exception Watch窗口中的伪变量 |
-
Visual Studio中js调试的方法图解
第一步:在需要打断点处写上 debugger; 第二部:在IE中将禁用脚本调试的钩去掉 打开IE -> 工具 -> 选项 -> 高级 -> 去掉禁用脚本调试(Internet Explorer)和禁用脚本调试(其他) 不用调试时记得将IE去掉的钩,钩上,以免打开其它网页报错!
-
分享Visual Studio原生开发的10个调试技巧(2)
之前关于Visual Studio调试技巧的文章引起了大家很大的兴趣,以至于我决定分享更多调试的知识.以下的列表中你可以看到写原生开发的调试技巧(接着以前的文章来编号).这些技巧可以应用在VS2005或者更新版本中(当然有一些可以适用于旧版本).如果你继续,你可以知道每个技巧的详细信息. 技巧11:数据断点 当数据所在内存位置变化时,调试器将会中断.然而,这是唯一可能在一个时间创建4这样的硬件的数据断点.数据断点只能在编译的过程中添加,可以通过菜单(编译>新断点>新数据断点)或者通过断点窗口来
-
解决Visual Studio 2012 Update 4 RC启动调试失败的方案
本教程就是帮助大家解决Visual Studio 2012 Update 4 RC启动调试失败的问题,具体内容如下 以下解决办法适用于任何Visual Studio开发环境,及Windows NT 6.1以上系统. 系统:Windows 8.1 Enterprisex64 RTM 开发环境:Visual Studio 2012 Update 4 RC 运行库:.NET Framework 4.5 x64 承载环境:IIS 8.0 错误:无法在web服务器上启动调试,您没有调试web服务器进程的权
-
Visual Studio调试技巧汇总
调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 1 悬停鼠标查看表达式值 调试是很有挑战性的.比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等. 但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里). 一种更简单的方法,把鼠标停在所需查看的数据上.如果是类或结构,那么点击展开可以很方便快速地
-
Visual Studio 2017通过SSH调试Linux上.NET Core
Visual Studio 2017 通过SSH 调试Linux 上.NET Core 应用程序. 本文环境 开发环境:Win10 x64 Visual Studio 2017 部署环境:Ubuntu 14.04 x64 .NET Core SDK 1.0.1 Ubuntu上安装.NET Core SDK Ubuntu 14.04 x64 sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotn
-
配置Visual Studio 以调试.net framework源代码第1/2页
基本步骤注意,这个功能在Visual Studio 2008 Express版里不支持.1)安装Visual Studio 2008 QFE.这个QFE只是更新一个Visual Studio调试器的DLL,以便可以获取源代码,更多细节参加下载页面.2)运行Visual Studio 2008依次展开Tools->Options->Debugging->General.如果你在Visual Basic Profile环境下运行,你需要将lower left of the Options D
-
Visual Studio Debugger七个鲜为人知的小功能
Visual Studio debugger是一个很棒的调试工具,可以帮助程序猿们快速地发现和解决问题.这里给大家简单介绍一下VS调试工具中的七个鲜为人知的小功能. 1. 一键跳转到指定语句 调试过程中经常需要拖拽黄箭头,使特定语句执行或者不执行.常规方法就是使用鼠标直接拖拽. 在Visual Studio 2017 15.3预览版中,有一个更简单地跳转到目标行的方法:在目标行盘旋鼠标指针,出现绿色竖线右箭头图标后,按住CTRL后鼠标左键点击,就把调试黄箭头移过去了,再点击调试下一步或者F5就直
-
关于visual studio 2012 update 2中的新功能介绍
对于vs2012 update2中的新功能,确实很多.挑一个对于调试和写代码很有帮助的功能吧.codemap/代码图.该功能能够非常清楚和直观的让你理清代码的调用关系和引用关系. 传统的调试,应该都是设置各种断点,各种F11.现在有可视化的代码图方便你的调试. 并且可以在代码调试的时候去进行载入. 最重要的是可以在代码图中根据调试情况加入标签与颜色标记,方便自己调试与团队协作. 怎么样,这个新功能大家都知道吗?如果不知道建议赶紧用用,轻松你调试. 个人强烈推荐
-
Visual Studio 2017正式版发布 亮点看这里
Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试.实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航.IntelliSense.重构.代码修复和调试等等.无论使用哪种语言或平台,都能节省开发者在日常任务上花费的时间和精力. 此外,该版本还带来了一个新的轻量化和模块化的安装体验,可根据需要量身定制安装.多个增强功能汇集在一起,使 Visual Studio 2017 的启动速度比 Visual Studio 2015 快3倍,解决方案加载时间缩短 2
-
Visual Studio Code 从简介、安装到配置所需插件详细介绍
提到visualstudiocode,想必你也听说过visualstudio(vs) 那就从查阅过的资料大致总结以下几点,关于这两个产品的区别: 首先总的来看,它们都是微软公司的产品 名字不一样当然会有不一样的用法或者解释 区别: ①先来介绍vs,它是微软公司开发发工具包系列产品,是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等.通俗的讲,是一款编译器. 而vscode是微软公司的一个项目,是针对于编写现代web和云应
-
Visual Studio安装git插件的方法步骤
在Visual Studio 中使用git--什么是Git(一) 如果要使用git进行版本管理,其实使用git命令行工具就完全足够了,图形化工具(无论是git extentions,还是TortoiseGit),都只不过是命令行的封装.就功能而言,他们能做的,命令行全部可以做到:但命令行能做的,他们不 一定可以做到.命令行更加原生.本色,跨越平台,以一当十.建议熟悉git命令行工具.但图形化工具也有自己的优点,就是直观. Visual Studio 2019中自带Git功能.如下图. 2.Vis
-
Visual Studio Code上添加小程序自动补全插件的操作方法
Visual Studio Code(简称"VS Code" )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器, 可在桌面上运行,并且可用于Windows,macOS和Linux.它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例
-
Visual Studio Debug实战教程之基础入门
前言 在过去,我已经写过好几篇关于调试 / debug / 解 Bug 的文章,但都是从宏观的角度上去讲的,并没有针对哪种工具做具体深入的剖析. 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间.通常,debug是指发现缺陷并改正的过程.修正缺陷紧随debug之后,或者说二者是相关的.如果代码中存在缺陷,我们首先要识别造成缺陷的根本原因(root cause),这个过程就称作调试(d
-
.NET Visual Studio 代码性能分析工具
下面通过图文并茂的方式给大家介绍下,具体内容如下: 软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程.MSDN杂志2011年7月份曾发布主题为".NET代码分析工具和技术"的那一期,让广大程序员收获颇丰.四年过去之后,这些工具又进一步做出了很多改进,同时也出现了更多的选择.本文对当前主流
-
Visual Studio 2017新版发布 更强大!
Visual Studio 2017新版发布:更强大! 官方发布原文:A fresh update to Visual Studio 2017 and the next preview 今年 3 月份,微软发布了 Visual Studio 2017,这也是迄今 Windows 设备最新.最强大的集成开发环境. 在本次 Build 开发者大会上,Visual Studio 2017 再次获得功能强化. 微软今天正式宣布推出 Visual Studio 2017 15.2 正式版和 Visual
随机推荐
- linux仿写chmod命令
- Python 第一步 hello world
- MongoDB中连接字符串的编写
- 在SQL Server和Oracle中创建job
- CentOS7配置httpd虚拟主机教程
- C语言计算代码执行所耗CPU时钟周期
- ASP.Net不执行问题一解
- JavaScript获取DOM元素的11种方法总结
- innerHTML,outerHTML,innerTEXT三者之间的区别
- php连接微软MSSQL(sql server)完全攻略
- 关于JS中prototype的理解
- 理解python多线程(python多线程简明教程)
- 利用Go语言初步搭建一个web应用的教程
- PHP中strpos、strstr和stripos、stristr函数分析
- c# in depth的泛型实现实例代码
- 详解SQL Server如何修改数据库物理文件的存在位置
- spring boot实战教程之shiro session过期时间详解
- 利用nodeJs anywhere搭建本地服务器环境的方法
- vue router动态路由设置参数可选问题
- 浅谈vue父子组件怎么传值