Visual Studio调试的10个技巧】的更多相关文章

本篇体验Visual Studio的10个调试技巧,包括: 1.插入断点和断点管理2.查看变量信息3.逐语句F11,逐过程F10,跳出Shift+F114.查看堆栈信息5.设置下一条执行语句6.调试时修改局部变量并继续调试7.线程管理8.为断点设置条件9.使用命令窗口测试方法10.变量的历史记录 有这样的一个Person类: public class Person { public string Name { get; set; } public int Age { get; set; } pu…
系列目录     [已更新最新开发文章,点击查看详细] 可将 Visual Studio 调试器附加到本地或远程计算机上正在运行的进程. 进程运行后,在 Visual Studio 中选择“调试” > “附加到进程”,或按 Ctrl+Alt+P,然后使用“附加到进程”对话框将调试器附加到进程. 可以使用“附加到进程” 来调试本地或远程计算机上正在运行的应用.同时调试多个进程. 调试并非在 Visual Studio 中创建的应用或未使用附带调试器从 Visual Studio 启动的任何应用. …
调试是软件开发过程中非常重要的一个部分,它具挑战性,但是也有一定的方法和技巧. Visual Studio 调试程序有助于你观察程序的运行时行为并发现问题. 该调试器可用于所有 Visual Studio 编程语言及其关联的库. 使用调试程序时,可以中断程序的执行以检查代码.检查和编辑变量.查看寄存器.查看从源代码创建的指令,以及查看应用程序占用的内存空间. 本系列以 Visual Studio 2019 来演示调试的方法和技巧.希望能帮助大家掌握这些技巧.它们都很简单,却能帮你节约大量的时间.…
调试是软件开发过程中非常重要的一个部分,它具挑战性,但是也有一定的方法和技巧. Visual Studio 调试程序有助于你观察程序的运行时行为并发现问题. 该调试器可用于所有 Visual Studio 编程语言及其关联的库. 使用调试程序时,可以中断程序的执行以检查代码.检查和编辑变量.查看寄存器.查看从源代码创建的指令,以及查看应用程序占用的内存空间. 本系列以 Visual Studio 2019 来演示调试的方法和技巧.希望能帮助大家掌握这些技巧.它们都很简单,却能帮你节约大量的时间.…
在这篇文章中,我们假定读者了解VS基本的调试知识,如: F5 开始使用调试器运行程序 F9 在当前行设置断点 F10 运行到下一个断点处 F5 从被调试的已停止程序恢复执行 F11 步进到函数内(如果当前程序指针指向一个函数) F10 步过函数(如果当前程序指针指向一个函数) Shift+F11 步出执行的函数 暂停执行 附加到进程 鼠标悬停时快速查看源代码中的元素 调试窗口:局部变量.监视.即时窗口.模块.调用堆栈.异常设置 许多开发人员使用这个功能强大的工具包来处理调试会话.然而,Visua…
Visual Studio 调试技巧[Command Window & Immediate Window ](Tips) 1. immediate window 定义的一些 alias (//z 2012-3-13 14:04:44 PM IS2120@CSDN)alias ? Debug.Printalias ?? Debug.QuickWatchalias AddProj File.AddNewProjectalias alias Tools.Aliasalias autos Debug.A…
原文链接地址:http://blog.csdn.net/Donjuan/article/details/4618717 函数断点 在前面的文章Visual Studio调试之避免单步跟踪调试模式里面我讲了如何设置函数断点,说实话,我个人喜欢设置函数断点,而不是在代码行里面设置断点.一般来说,函数断点在下面几种情形下有用: 1. 例如调试一个网站程序,你通过分析网站的日志发现最有可能发生错误的函数,打开调试器并将调试器附加到程序上去,设置函数断点,重新执行网站--这样做的好处是,不用到处打开源文件…
原文链接地址:http://blog.csdn.net/Donjuan/article/details/4649372 讲完Visual Studio调试之断点技巧篇以后,翻翻以前看得一些资料和自己写的一些文章,发现还有几个关于中断程序的技巧在前面的文章里面遗漏了,决定还是在这里总结一下.当然啦,如果你知道这些技巧,忽略这篇文章好了,:) 在程序启动的时候将调试器附加上去 可能有人会对这个问题有一些争议,因为大部分情况下我们只需要在调试器(Debugger)里面直接启动被调试程序(Debugge…
系列目录     [已更新最新开发文章,点击查看详细] 01 固定数据提示 如果你在调试时,经常将鼠标悬停在数据提示上,就可能想固定变量的数据提示,方便自己随时查看. 即使在重新启动后,固定的变量也能保持不动. 要固定数据提示,请在鼠标悬停其上时单击固定图标. 你可以固定多个变量. 02 编辑代码并继续调试 (C#,VB, C++) 在 Visual Studio 支持的大多数语言中,你都可以在调试会话的过程中编辑代码,然后继续调试. 要使用此功能,请先在调试器中暂停,用鼠标点击进入代码,进行编…
调试术语 Visual Studio调试之断点基础篇 Visual Studio调试之断点进阶篇 不能设置断点的检查步骤 Visual Studio调试之断点技巧篇 Visual Studio调试之断点技巧篇补遗 Visual Studio调试之符号文件 理解First Chance和Second Chance避免单步调试…
Visual Studio调试之避免单步跟踪调试模式 写完Visual Studio调试之断点进阶篇之后,想分享一下我常用的一些调试技巧,后面发现写之前,一些背景知识需要介绍一下. 下面是几篇今年2月份在CSDN写的几篇文章,比如关于如何使用第一次异常处理机会和第二次异常处理机会的区别来快速定位异常发生的位置,如何设置函数断点之类的文章.因为后续我打算写几篇我常用的小技巧,可能需要先了解一些背景知识,就只把链接贴出来了.理解First Chance和Second Chance避免单步调试:htt…
分享10条Visual Studio 2012的开发使用技巧 使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何.客户要求的ASP.NET MVC 4的项目,要用.NET 4.5来运行.经过一段时间的摸索,得到一点经验和体会.C#之父曾说,抗拒变化是人类的天性.Visual Studio 2012仅仅是在界面上变化就很让人感叹,也只有这样的大公司才有精力和时间去做这样的变更.微软有意推广一项技术,会在他最得意的产品中应用这项新技术,产品和技术路线并行,相辅相…
在启动VS2010项目时,遇到如图所示"Microsoft Visual Studio调试监视器(MSVSMON.EXE)未能启动"的问题. 原因是VS2010安装路径(我的是D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x64)下的MSVSMON.EXE文件被杀毒软件删掉了.解决方法是找个相应的MSVSMON.EXE文件拷贝到该路径下即可. 获得MSVSMON.EXE文件…
原文链接地址:http://www.cnblogs.com/killmyday/archive/2009/10/14/1582882.html 前面在不能设置断点的检查步骤和Visual Studio调试之断点进阶篇提到了调试符号文件及其作用,这篇文章我将要介绍调试符号文件的一些用法,如果你已经很熟悉调试文件的话,尽可以跳过本文. 调试符号文件为调试器提供了从二进制机器代码地址到源代码文本文件代码行的映射.因此有了符号文件,我们才能: 1. 设置断点,因为调试器需要符号文件提供的映射关系,将源代…
http://www.cnblogs.com/killmyday/archive/2009/10/14/1582882.html 前面在不能设置断点的检查步骤和Visual Studio调试之断点进阶篇提到了调试符号文件及其作用,这篇文章我将要介绍调试符号文件的一些用法,如果你已经很熟悉调试文件的话,尽可以跳过本文. 调试符号文件为调试器提供了从二进制机器代码地址到源代码文本文件代码行的映射.因此有了符号文件,我们才能: 1.       设置断点,因为调试器需要符号文件提供的映射关系,将源代码…
系列目录     [已更新最新开发文章,点击查看详细] 要调试已部署到IIS的ASP.NET应用程序,请在部署应用程序的计算机上安装并运行远程工具,然后从Visual Studio附加到正在运行的应用程序. 下面介绍如何设置和配置Visual Studio ASP.NET MVC 4.5.2应用程序,将其部署到IIS,以及如何从Visual Studio附加远程调试器. 01 系统必备 Visual Studio 2019 需按照本文中所示的步骤. 这些服务器配置上进行了测试这些过程: Wind…
Visual Studio 2019 v16.10有什么新功能? 我们很高兴地宣布Visual Studio 2019 v16.10 GA 和 v16.11 preview 1发布.此版本使我们的主题"开发者生产力和便利性"普遍适用于 Visual Studio 用户!我们添加了c++ 20特性.优化的Git集成.分析工具,以及许多提高开发效率的特性. 下载最新的Visual Studio版本以尝试16.10中的新特性.一如既往,我们希望您通过我们的开发者社区提供反馈和互动. 安装vi…
由于本人能力有限,翻译不足之处敬请谅解,欢迎批评指正:sunylat@163.com Visual Studio版本:Visual Studio 2015企业版,中文环境. MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/hardware/hh406281(v=vs.85).aspx 从Windows Driver Kit (WDK) 8开始,驱动开发环境和Windows调试器都集成到Visual Studio里了.在这个集成环境里…
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用Natvis定制C++对象在Visual Studio调试时如何显示.…
Visual Studio调试之断点进阶篇 在上一篇文章Visual Studio调试之断点基础篇里面介绍了什么是断点,INT 是Intel系列CPU的一个指令,可以让程序产生一个中断或者异常.程序中如果有中断或者异常发生了以后,CPU会中断程序的执行,去一个叫做IDT的部件查找处理这个中断(或者异常)的例程(Handler).IDT是操作系统在启动的时候初始化的,至于IDT的细节问题,例如什么是IDT,怎样编写一个IDT的例程,怎样 初始化IDT,可以去网上搜索一些资料. 总之,这里我们只要知…
Visual Studio调试之断点基础篇 我曾经问过很多人,你一般是怎么调试你的程序的? F9, F5, F11, F…… 有很多书和文章都是介绍怎么使用Visual Studio编写WinForm啦,.ASP.NET之类的程序:知道如何编写固然重要,但是我觉得程序员可能只会花费30%的时间在编写代码上,剩下的大部分时间都是在调试程序.在网上看到很多人介绍Windbg的用法,但是没有看到几篇讲解使用Visual Studio调试的文章.Windbg固然强大,但是问题是它的学习曲线太陡了,而且很…
查找并指定符号文件和源文件:指定符号加载行为.使用符号和源服务器上:加载符号自动或在要求.   内容 查找符号 (.pdb) 文件 查找源文件   查找符号 (.pdb) 文件 说明 在之前的 Visual Studio 版本与 2012 中,调试在远程计算机上的管理的代码需要符号文件还查找了远程计算机. 现在,这已经不成问题了. 所有符号文件必须本地计算机或位于 Visual Studio 选项 对话框的 调试 / 符号 页上指定的位置. 如果调试器搜索 .pdb 文件 | 符号文件的原因需要…
Visual Studio - 调试 异常处理机制 windows预定义了一系列的异常错误码,每种程序异常都有一个对应的错误码,windows系统将这些类似键值对关系的数据存储在异常处理表中(称为SEH结构化异常处理表).当CPU执行程序指令时,如果指令出现错误,那么CPU会识别错误所对应的错误码,接着执行流程会进入SEH,查找错误码所对应的处理程序,C++..Net的程序异常都是由RaiseException函数进行处理,异常被处理之后CPU才会继续执行下一句指令.     异常码     …
系列目录     [已更新最新开发文章,点击查看详细] 当你进行调试时,可以使用 监视窗口 和 快速监视窗口 来监视变量和表达式. 仅在调试会话期间,这两个窗口才可用. 监视窗口可以在调试时一次显示多个变量. 快速监视对话框一次仅显示单个变量,并可以继续调试之前,必须关闭. 01 观察使用监视窗口变量 示例代码: private static void Main(string[] args) { int a, b, c; a = ; b = ; c = ; ; i < ; i++) { a++;…
为什么调试附加进程? Visual Studio 调试器可以附加到在 Visual Studio 外运行的进程. 可以使用此附加功能执行以下操作: 调试并非在 Visual Studio 中创建的应用程序. 同时调试多个进程. 也可以通过在单个解决方案内启动多个项目来调试多个进程. 调试正在远程计算机上运行的进程. 调试一个 DLL,该 DLL 运行在不易从 Visual Studio 启动的独立进程上.例如,与 Internet 信息服务一起运行的服务或 ISAPI DLL. 当一个进程在 V…
两个对象是否为同一个对象:是看两个对象是否指向堆中的同一块内存. 1.使用object.ReferenceEquals() class Program { static void Main(string[] args) { Person p1 = new Person(); p1.Name = "Mark"; Person p2 = new Person(); p2.Name = "Marl"; Person p3 = p1; Console.WriteLine(o…
本文精选了 DotNet  2017年11月份的10篇热门文章.其中有技术分享.技术资源. 注:以下文章,点击标题即可阅读 <Visual Studio的调试技巧 > 调试技巧是衡量程序员水平的一个重要指标.掌握好的调试技巧与工具的使用方法,也是非常重要的. <C#反射.与dynamic最佳组合> 反射最突出的优点或存在的合理性:在不修改程序原码的情况下,实现程序功能的动态调整(Runtime动态对象创建). <ASP.NET Core 企业级开发架构简介及框架汇总 >…
简介 调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 这篇文章总结了可能节省你大量时间的11个Visual studio的调试技巧和方法. 1 悬停鼠标查看表达式值 调试是很有挑战性的.比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等……但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里).…
简介 调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 这篇文章总结了可能节省你大量时间的11个Visual studio的调试技巧和方法. 1 悬停鼠标查看表达式值 调试是很有挑战性的.比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等……但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里).…
简介 调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 这篇文章总结了可能节省你大量时间的十个visual studio的调试技巧和方法. 1 悬停鼠标查看表达式值 调试是很有挑战性的.比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等... 但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里)…