Visual Studio 调试方法
1:命令窗口
CTRL + D + I,可以在立即窗口中写一些临时的代码
2:编辑并继续
选中下面的选项,可以让你在调试暂停中,修改代码,而不用重新启动,

3:执行
单步执行:F10
跳进方法:F11
跳出方法:SHIFT + F11
执行到光标处:CTRL + F10
4、悬停鼠标查看表达式值
查看表达式和局部变量的值都是很麻烦的,可以把鼠标停在所需查看的数据上。如果是类或结构,那么点击展开可以很方便快速地查看其字段。

5、在运行过程中改变变量值
调试器不仅仅是分析程序崩溃和诡异行为的工具,还可以通过逐步调试检查数据和行为是否符合程序预期的方法解决许多bug。有时,你会想是否设置某些条件为真,程序就能正确运行了。其实你只要把鼠标移动到变量上,双击值,然后输入你需要的值。这样就不需要修改代码,重启程序了。

6、设置下一个运行位置
我们经常会用逐步调试的方法去分析为什么函数出错了。这时你遇到这个函数调用其他函数返回错误,而这个错误不是你想要的,你该怎么办?重启调试器?这里有个更好的方法,直接把黄色的运行位置箭头拖到你想要的运行位置。其实就是跳过中间运行代码,直接到想要的位置。
7、一个方便的查看窗口
visual studio的查看窗口使用特别简单,你能很方便的增加和删除变量。只要在窗口里点击空白行,输入表达式然后按enter键。或者点击表达式,按delete键删除不需要的表达式。
在调试窗口不仅仅可以查看普通的变量值,甚至可以输入$handles去追踪打开的句柄数量,$err去查看函数的错误代码(然后使用 Tools->Error 查看错误代码的描述)或者输入 @eax(在64位下是@rax )查看包含函数返回值的寄存器值。

8、回退当前执行代码
比如,代码运行到了 49 行了,想回到 45 行,没关系,鼠标点中黄色箭头,从 49 行拖到 45 行就可以了,如下:

9、从进程开始调试
有时候,不想启动 VS 直接进行调试,比如,网站部署在本机,想从运行中的状态开始调试当前浏览器页面,即可以用 Attack to Process 启动调试,如下:

10、条件断点
如果你想重现一个小概率事件,但是断点在大量不需要的条件下也会触发。你可以很简单的设置条件断点。在断点窗口设置该断点条件,Visual studio 会自动忽略不符合条件的断点。

11、命令窗口
Visual studio支持一个命令窗口,你可以通过菜单View->Other Windows->Command Window 打开。你可以在窗口里输入不同命令使调试自动化。

Visual Studio 调试方法的更多相关文章
- Visual Studio调试之断点基础篇
Visual Studio调试之断点基础篇 我曾经问过很多人,你一般是怎么调试你的程序的? F9, F5, F11, F…… 有很多书和文章都是介绍怎么使用Visual Studio编写WinForm ...
- 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件
查找并指定符号文件和源文件:指定符号加载行为.使用符号和源服务器上:加载符号自动或在要求. 内容 查找符号 (.pdb) 文件 查找源文件 查找符号 (.pdb) 文件 说明 在之前的 Vis ...
- Microsoft Visual Studio调试监视器(MSVSMON.EXE)未能启动
在启动VS2010项目时,遇到如图所示"Microsoft Visual Studio调试监视器(MSVSMON.EXE)未能启动"的问题. 原因是VS2010安装路径(我的是D: ...
- 调试 - Visual Studio调试
Visual Studio - 调试 异常处理机制 windows预定义了一系列的异常错误码,每种程序异常都有一个对应的错误码,windows系统将这些类似键值对关系的数据存储在异常处理表中(称为SE ...
- Visual Studio调试之断点技巧篇
原文链接地址:http://blog.csdn.net/Donjuan/article/details/4618717 函数断点 在前面的文章Visual Studio调试之避免单步跟踪调试模式里面我 ...
- Visual Studio调试之断点技巧篇补遗
原文链接地址:http://blog.csdn.net/Donjuan/article/details/4649372 讲完Visual Studio调试之断点技巧篇以后,翻翻以前看得一些资料和自己写 ...
- Visual Studio调试之符号文件
原文链接地址:http://www.cnblogs.com/killmyday/archive/2009/10/14/1582882.html 前面在不能设置断点的检查步骤和Visual Studio ...
- [转]Visual Studio调试之符号文件
http://www.cnblogs.com/killmyday/archive/2009/10/14/1582882.html 前面在不能设置断点的检查步骤和Visual Studio调试之断点进阶 ...
- Visual Studio 调试(系列文章)
调试是软件开发过程中非常重要的一个部分,它具挑战性,但是也有一定的方法和技巧. Visual Studio 调试程序有助于你观察程序的运行时行为并发现问题. 该调试器可用于所有 Visual Stud ...
随机推荐
- 【java】Hibernate saveOrUpdate失效以及补救方案
有个需求是如果unique key不存在则插入,存在则更新. 简单的方式先select一下再insert 或者update,但是嫌太麻烦而且慢,所以采用Hibernate中session.saveOr ...
- oneDay
难受过 迷茫过 失望过 耍脾气过 开心过 伤心过 疼过 走了这么久的路: 我只想说 程序的道路上 很难走: 本来准备都放弃了: 自己逼自己了很久想明白了: 不能什么时候都想着靠外力 自己的不足就是自己 ...
- 防止sql注入的几种方法
一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...
- leetcode 算法 Excel表列序号 python实现
这道题给我感觉就像一个26进制数一样. A 就是1 B是2 .... Z 是26 如果AB 两位,那就是 1 * 26 + 2 就是A 的数值*26 + B的数值 如果是MNP 三位数 那就 ...
- wpf企业应用之数据校验
wpf中使用IDataErrorInfo实现数据校验,绑定实体需要实现了此接口,并在UI绑定表达式中添加ValidatesOnDataErrors=True,这样数据校验发生时,wpf会调用该接口中的 ...
- luoguP3359 改造异或树 线段树合并
删边转化为加边 然后每次用线段树合并就行..... 确确实实很简单 然而为什么线段树合并跑不过$splay$的启发式合并,常数稍大了点... 复杂度$O(n \log n)$ #include < ...
- 【10.6校内测试】【小模拟】【hash+线段树维护覆盖序列】
一开始看到题就果断跳到T2了!!没想到T2才是个大坑,浪费了两个小时QAQ!! 就是一道小模拟,它怎么说就怎么走就好了! 为什么要用这么多感叹号!!因为统计答案要边走边统计!!如果每个数据都扫一遍20 ...
- 【Codeforces528D】Fuzzy Search FFT
D. Fuzzy Search time limit per test:3 seconds memory limit per test:256 megabytes input:standard inp ...
- Codeforces Round #361 (Div. 2) E. Mike and Geometry Problem 离散化 排列组合
E. Mike and Geometry Problem 题目连接: http://www.codeforces.com/contest/689/problem/E Description Mike ...
- wikioi 1014 装箱问题(背包)
题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若 ...