Visual Studio 调试功能(一)

【Visual Studio系列教程】什么是 Visual Studio? Visual Studio 是一款功能强大的开发人员工具。 是一个全面的集成开发环境 (IDE),可用于编写、编辑、调试和生成代码, 然后部署应用。 阅读详情
原文出处:  微软互联网开发支持    

Visual Studio 是一个强大的调试工具,里面很多隐藏功能少有人问津,但是在特定场景可以节省你很多时间,本文主要介绍一些Visual Studio调试相关的隐藏功能,欢迎大家补充。

 

运行到光标(Run to cursor)

大多数人用Visual Studio在调试程序的时候先在程序开始的时候设置一个断点,然后依次F10/F11到自己想要查看的逻辑。如果这个过程我们需要仔细查看每一步的变量或者执行路径,这样做无可厚非,但是如果我们不想关心前面执行的逻辑,我们可以使用Run to cursor功能,只需要鼠标光标点到你想要执行到的那一行代码,Ctrl+F10,程序直接停在了鼠标光标的那行代码。

条件断点(Conditional Breakpoint)

断点大家都会用,条件断点相信对于经常调试的也不陌生,使用方法如下图,

看上面这个右键菜单,Hit Count估计很多人也再用,用它来指定在第几次hit到这个断点的时候断下来,

接下来就更高级一些,Filter,相信很多人在调试多线程程序的时候都遇到过被其他线程干扰吧,好不容易断下来,一步一步F10,忽然间另外一个线程又把前面断点hit了,刚才我跳的线程是哪个?想找到就难了。接下来就需要Filter来出场了。通过Filter我们可以过滤需要break的机器/进程/线程。

接下来就是When Hit选项了,这个估计很多人用过它来跟踪变量,上图,带过。

Export, 导出断点的功能用的就更少了,其实有些场景断点导出可以让你少费很多话。比如你在某段代码发现一个别人的bug,你可以将断点导出为xml,然后将它attach到bug上,bug owner直接找到对应版本导入断点,运行程序就可以了。

 

数据提示(Data Tips)

调试的时候将鼠标放在变量名上来查看关心的数据,我们都是这么做的,但是如果一段逻辑需要反复执行,例如调试某段算法,你可以多点一下鼠标,将这个变量钉在代码旁边,这样比去watch窗口看要少转很多眼珠哦。

另外这些data tip也是可以导入和导出的。

 

查看反汇编代码

查看反汇编代码可以说是一个VisualStudio里面的一个隐藏功能,这个功能很少有人会注意到,但是对于我们想要学习汇编语言或者理解一些特定的编译器行为有很大的帮助。这个功能将汇编语言和源代码参照显示,理解起来容易许多。

使用该功能很简单,以我们在windbg u/uf/ub命令介绍中的程序代码qsort.c为例,在VisualStudio里面打开程序,设置断点,直接通过VisualStudio运行程序,或者attach到已经运行的程序中,当断点被触发后,右键然后选择go to disassembly,

反汇编效果如下,接下来再看swap方法的汇编代码,是不是很容易理解了?

Visual Studio单步调试中监视窗口变灰的问题 然而,在调试中,只要一执行while这条语句,监视窗口中的变量全部变为灰色,不能查看,是程序本身并没有报错,能够继续执行,但就是不能查看变量的值!>调试信息格式,改为 程序数据库(/Zi)在网上搜索无果,最后在项目属性中更改。在vs调试中,写了这样一条语句。 阅读详情

相关推荐

Visual_Studio各大版本优势

Visual_Studio各大版本优势的收集整理。从Visual Studio 97 到 Visual Studio 2010。

visual C++如何查看汇编代码

(1)设置一个断点,按F9;(2)按F5键,会发现在断点上多了一个箭头;(3)在断点上右击鼠标,点击 Go To Disassembly

清之我心的博客 4307

VisualStudio2022配置CGAL

vs2022和vs2017安装配置boost没什么区别,只需要注意boost的msvc得是14.3的,这玩意跟visualstudio版本挂钩的。压缩包解压,得到下面这两文件,然后把auxiliary这个文件挪到CGAL-5.6里面就行了。我用cgal读取一个stl模型,并输出相关信息(想可视化的话需要安装Qt,不想装Qt也可以装VTK)然后下载下面这两个压缩包。照着下面的截图填就完事了。

weixin_43850909的博客 1171

关于VS断点无效,无法正常调试的种种问题的尝试

关于VS断点无效,无法正常调试的种种问题的尝试.使用VS2005、VS2008已有些年头,最近连续三次遇到在DEBUG模式下无法在某个指定位置设置断点、调试时直接跳过某行不执行,从此行开始执行的实际上是断点的下一行,种种问题让人挠头!无奈之下下定决心一定要解决此问题,于是有了下面的种种尝试

悦途的专栏 1万+

医药行业新零售项目数据分析报告——基于Excel的分析与可视化

不同平台客户支付金额用数字+百分比展示更直观。各大区支付金额分析较为粗浅,后续可加入不同大区人数、配送费等进行细分分析。图表略微单一,可采用组合图,运用两个及以上维度对数据进行分析。数据来源本项目数据来源于某机构的项目案例,以上分析内容均为本人原创,不涉嫌抄袭。原做项目,新平台首发。

2401_84213513的博客 1495

linux CentOS7安装VCS、Verdi、SCL

1.Linux下所需安装文件 链接:https://pan.baidu.com/s/1E_l4ARFYEnp57jlX95Bpog 提取码:ggdz ​ synopsysinstaller_v5.0 ​ scl_v2018.06 ​ vcs_mx_vO-2018.09-SP2 ​ vcs_vO-2018.09-SP2 ​ verdi-2018.9 2.Windows破解文件 ​ scl_keygen_2030 3.安装installer 打开终端,进入synopsysinstaller_

loveyelong的博客 4618

VisualStudio 2019 新特性

很多小伙伴都好奇 VisualStudio 2019 有哪些功能,下面让我介绍一些好玩的特性

lindexi 7478

FC游戏Hack实战:从零开始修改游戏数据

本文以《忍者神龟3》为例,详细介绍了从零开始进行FC游戏Hack的完整实战流程。通过使用FCEUX模拟器和调试器,结合“递减法”精准定位生命值内存地址,并利用十六进制编辑器修改关键指令,最终实现“无限生命”效果。文章旨在引导读者理解游戏数据修改的核心原理与操作技巧,重温经典的同时深入计算机程序运行机制。

weixin_28366353的博客 356

Visual Studio 的调试

Visual Studio 的调试。

考研小钻风 4439

kbjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please check

这条信息是来自 KingbaseES 数据库的一个 JDBC 客户端连接提示。KingbaseES 是一个企业级的关系型数据库管理系统,它兼容 PostgreSQL 的许多特性。如果上述步骤仍然无法解决问题,建议详细查看数据库和客户端的日志文件,以获取更具体的错误信息。此外,也可以考虑联系 KingbaseES 的技术支持获取帮助。项目融合kingbase数据库,输出日志乱码。结果:网上各种调整各种试。

zjy660358的专栏 4843

EndNote全文检索实战:如何快速配置学校图书馆资源并精准查找文献

本文详细介绍了EndNote全文检索功能的实战配置方法,核心在于通过正确设置OpenURL链接解析器,无缝对接学校图书馆资源,实现一键精准获取文献全文。文章提供了从理解机制、四步配置法到进阶技巧的完整指南,帮助科研人员高效管理海量PDF,构建个人知识体系,大幅提升文献调研与写作效率。

weixin_29228781的博客 278

谈谈Visual Studio的缺点,比较Eclipse

  3. 跟踪活动项不方便   Visual Studio有这样一个功能叫做Tracking Active Item,有时候我需要它,有时候又希望关闭它。Visual Studio把它放在选项里面,每次修改的时候都要重复点菜单-》选分类-》点CheckBox-》点OK这样一个重复的动作。   Eclipse把这个功能叫做Link with Editor, 放在主界面的Package Exp...

weixin_34261739的博客 1353

历年北京理工大学复试专业综合题

。

A place to record sth. 2万+

如何在vs (visual studio)调试环境下查看lua的调用栈、变量信息

编辑C:/Program Files/Microsoft Visual Studio 8/Common7/Packages/Debugger/autoexp.dat文件, 在文件最后[hresult]之上的空白插入以下代码,就可以在 visualstudio调试的时候看到lua

书山有路勤为径 2566

【TIDB】TiDB认证考试PTCA 练习题 题库

TiDB认证考试PTCA 练习题 题库

DBA之路的博客 4718

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【开发工具】Visual Studio:编程小白的蜕变神器

Visual Studio 作为一款功能强大的集成开发环境,为开发者提供了从项目创建、代码编辑、调试到项目管理的全方位支持。通过掌握安装与初始设置、项目创建与管理、代码编辑技巧、调试功能以及常用快捷键等内容,你将能够充分发挥 Visual Studio 的优势,提高开发效率。当然,在使用 Visual Studio 的过程中,你可能会遇到各种各样的问题,也可能有自己独特的使用心得和技巧。欢迎在评论区分享你的经验,无论是遇到的难题,还是发现的高效使用方法,都可以在这里交流。

大雨淅淅的博客 3144

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Visual Studio调试器指南---自动启动调试器

visual studio 启动调试器,等待 app 连接 Visual Studio调试器指南---自动启动调试器 Visual Studio调试器指南---自动启动调试器 - 走看看 有时,可能需要调试由另一个进程启动的应用程序的启动代码。 这样的示例包括服务和自定义设置操作。 在这些情况下,可以让调试器在应用程序启动时启动并自动附加。 设置应用程序以自动启动调试器 启动注册表编辑器 (regedit)。 在“注册表编辑器”中打开 HKEY_LOCAL_MACHINE 文件夹

kuangben2000的博客 1079

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Visual Studio一(基础)

本文介绍了Visual Studio(VS)的定义、核心功能、版本演变、应用场景及安装配置指南。VS是微软开发的集成开发环境,支持多平台、多语言和多类型应用开发,具备智能代码编辑、调试诊断、跨平台开发、协作与版本控制等功能。文章还详细说明了VS的历史版本和当前版本分类,包括社区版、专业版和企业版,并列举了其在桌面、移动、Web、云服务和游戏开发中的典型应用场景。最后,提供了VS的安装步骤和初次配置建议,帮助开发者快速上手。下一章我会教大家安装VisualStudio软件。

欢迎来到RaymondLeigh的知识共享基地 1524

如何在Visual studio中调试.Net Core开源项目

每个人的思维方式不同,这就需要我们去跟随作者的逻辑,并且代码之间可能需要不断的跳转,让人眼花缭乱!2.选中“符号”,勾选NuGet.org服务器(这一步也可以不选,选了的话,调试的适合会重新帮我们下载所有引用的包,可能等待时间比较长);这种方式,可能会因为我们本身项目的其他nuget包版本不同导致编译错误,同时也会导致项目变大,拖慢编译速度。学会这个技能,在查看源码时,能一步步的跟踪,应该会大幅度的提升我们的效率,至少头不会那么晕,哈哈。注意,弄完这一步,我们需要停止调试,再次开始调试,才能进入到断点!

chenpan01的专栏 685

微小的快乐功能#1-Visual Studio 2012中的T4模板调试

微小程序发朋友圈功能(UPDATE: See other Tiny Happy Features) (更新:请参见其他Tiny Happy功能) At some point soon lots of people are going to start writing these epic blog posts about Visual Studio 2012. They will include...

cunfuteng7334的博客 389

Visual Studio Code 新手入门指南:从零开始掌握代码编辑器

Visual Studio Code(简称 VS Code)是一款轻量级但功能强大的源代码编辑器,支持多种编程语言和开发场景。本文将带你全面了解 VS Code 的核心功能,帮助你快速上手这款高效的开发工具。 ## 环境准备 在开始之前,你需要: 1. 下载并安装最新版的 Visual Studio Code 2. 确保你的操作系统满足最低系统要求 ## 创建并打开工作区 VS Code ...

gitblog_00519的博客 621

C语言编译器Visual Studio | 提升编程效率与调试能力

无论你是刚刚入门的初学者,还是已经有一定经验的开发者,Visual Studio 都能帮助你提高编程效率并优化调试过程。总之,Visual Studio 不仅是一个功能强大的 C 语言编译器,更是提升编程效率、优化调试流程和支持团队开发的重要工具。总的来说,学习编程需要坚持和耐心,逐步提升自己的编程能力,不断挑战更复杂的项目。随着时间的推移,你会发现编程不仅是一个技能,更是一种思维方式,帮助你在技术世界中不断进步。通过和其他编程爱好者的交流,你能获得更多的学习资源,并且解决遇到的技术难题。

nukbqd_911的博客 249

为什么Visual Studio没有64位?

这个问题曾经在TechEd大会上被专门提到。 微软说,的确有无数的开发者提议微软开发64bit的VisualStudio,但是微软没有这么做,是因为微软调查了绝大多数的深层需求,他们之所以期待64bit的VisualStudio,是因为他们认为64bit的程序可能拥有更高的性能。但是实际上不是这么回事,64bit程序在x86-64处理器上并不会带来明显的性能提高,它只是增加了处理器的寻址范围...

$firecat利白的代码足迹$ 9209

visual studio:调试时最好不要编辑,否则断点可能不会命中

在用vs调试unity时,发现断点不会命中,在删除所有断电后重新打断点,重新运行,断点命中了;猜测原因是在调试过程中编辑过代码,但是没有保存(可能保存了)?然后后续打断点出现了问题;因此建议如下图禁用调试时的编辑并继续。 ...

Cloud Flower的博客-专注unity 373

Visual Studio 2022:一个功能全面且强大的IDE

Awesome Tools,程序员常用高效实用工具、软件资源精选,办公效率提升利器!收录地址:https://github.com/YSGStudyHards/Awesome-Tools工具介绍Visual Studio 2022 是一款功能强大的开发人员工具,支持多种编程语言和平台。这是一种全面的集成开发环境 (IDE),可用于编写、编辑、调试和生成代码, 然后部署应用。Visual Studi...

dotNET跨平台 390

Visual Studio的实用调试技巧总结

全网Visual Studio编译器最详细的编程Debug调试,详细介绍了Debug和Release版本的的区别等相关知识,学会后敲代码速度嘎嘎上升!!

L_Daniel的博客 3949
上一篇: 关于进度条的操作
下一篇: Visual Studio 调试功能(二)
hhgo
博客等级 码龄15年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值