Visual Studio 2008 每日提示(三十一)

#311、按Shift+F11跳出函数

原文链接:You can press Shift+F11 to step out of a function

操作步骤: 在调试状态,断点停留在一个函数的内部

可以按Shift+F11从函数的任何位置跳出函数。

评论:用Shift+F11跳出函数让我们直之关注需要了解的函数部分,对于不想知道的部分直接跳出。

//www.watch-life.net/visual-studio/visual-studio-2008-tip-day-31.html

#312、在调试器里没有‘继续’命令

原文链接:There’s no command for Continuing the debugger

操作步骤: 注意启动图标的提示的变化,在”调试.启动”命令是是“启动调试”

继续调试时,是提示“继续”

我们也许会想:当然应该有和两个快捷键相对应的命令。那么“继续”的命令是什么呢?你会发现原来没有“调试.继续”这个命令,而只有“调试.启动”命令。在调试模式下提示只是被改名了(并没产生新的命令)。

评论:这些细节对于很少用命令的程序员也许很难发现,对作者这样的测试人员却不能放过。

#313、不使用断点来中断调试

原文链接:You can break the debugger without using Breakpoints

操作步骤: 如果你使用时VB,可以在中断执行的代码处添加“stop”关键字,这个stop语句相当于添加一个断点。有时候,输入一个“stop”比记住单击F9 或去拿鼠标更快。

如果你使用的c#,可以在你的代码里使用“Debugger.Break()”来中断调试,只有你使用System.Diagnostics名称空间才是这样。

评论:这种加中断的方法,你估计用的不多吧。

#314、创建对象ID跟踪你的对象

原文链接:How to create an Object ID to keep track of your objects

操作步骤: (调试状态)在你打开对象的实例的数据提示时候,在右键菜单里你会发现“创建对象ID

如果你单击“创建对象ID”,你会发现{1#}被增加在(对象的)值的内容里面。

你也可以在自动和监视窗口发现它

如果你要再次看见这个变量,你可以在监视窗口应用对象的ID,如下图所示

你可以删除对象ID,在右键菜单,或者监视(局部或自动)窗口。

评论:从Visual Studio 2005开始,引入了”Object Identity While Debugging”的概念,也就是说,系统给在调试阶段的每个对象,都可以赋予一个别名,在调试时,直接引用该别名就可以了。假设在调试的时候,需要跟踪比如dataset或者hashtable等对象,这些对象中包含了很多其他的子对象,如果想对这些数量众多的子对象进行跟踪的话,将十分麻烦。在Visual Studio 2005中,可以使用object identity(对象标识)的方法去标记每一个对象

#315、如何用找回源码对话框代替“没有可用的源码”消息

原文链接:How to get the Find Source dialog back instead of the “There is no source code available” message

操作步骤: 有时候,你正在调试的时候,vs不知道源码的位置在哪,vs会给你一个确认框,要求你指定源码的位置。

如果你小心点击了“取消”按钮,会提示你“在当前位置没有可用的源码”

这时候,如果你停止,再试一次,你会发现查找代码位置的对话框不再出现了。vs会直接提示你“没有可用的源代码”,即使你想再次告诉vs源码的位置,也没办法了。

解决办法如下: 右键点击“解决方案”+“通用属性”+“调试源码文件”,有个“不查找这些源文件”的文本框 删除文件所对应的行后,就可以在调试中再次出现查找源码的对话框。

评论:这么细微的功能你没注意吧。

#316、自动窗口和局部窗口的差异

原文链接:What’s the difference between the Autos window and the Locals window

操作步骤: 自动窗口:显示当前声明和上一声明。 局部窗口:显示范围内所有声明。自动窗口是局部窗口的子集。 例如,如下代码段,不做任何事,只产生未使用变量的警告。

在自动窗口,你可以看见上一个声明和当前声明被运算。

在局部窗口,你会看见所有的声明,包括参数

评论:如果你关注更多的声明运算建议你用局部窗口,如果你只关注当前声明的话最好用自动窗口。

#317、在控制台程序中用Ctrl+F5让控制台停留在打开的状态

原文链接:If you do a Ctrl+F5 on a console application, the console stays open

操作步骤: 在控制台程序中,启动调试,如果没有“stop/Debugger.Break()”或某种Console.Read()方法,控制台就会瞬间出现然后消失。

如果你按Ctrl+F5启动程序而不调试,在底部就会出现“按任意键继续”的消息。

评论:作者对此颇有疑问,不太理解为什么在调试状态控制台会一闪而过,而看不到任何调试信息。这个问题确实让人有些费解。

#318、在监视窗口增加$exception变量来捕获异常

原文链接:You can add $exception to the Watch window to see the caught exception

操作步骤: 如果你想迅速知道异常是否被捕捉,而不必再try catch 中找出异常的变量名,你可以在监视窗口输入:$exception

评论:这个方法非常不错,在try catch里看是否捕捉了异常,速度很快。

#319、使用文本可视化工具

原文链接:How to use the Text Visualizer

操作步骤: 例如你有一些很长的字符串,也许是sql链接字符串或者只是一些表格数据,如果你需要查看真个字符串。 当然你可以把这些字符串复制到记事本去查看内容,不过,在vs里也可以实现这个功能。 打开字符串数据提示,单击下拉箭头

你会发现可视化的工具供选择

因为是字符串,所以选择“文本可视化工具”。注意这个对话框可以调整大小,也可以从里面复制和粘贴。

评论:文本可视化工具是我用的最多的可视化工具了,看比较成的sql语句非常方便。

#320、文本可视化工具支持文字换行

原文链接: The Text Visualizer supports word wrap

操作步骤: 在可视化文本工具底部有个选择切换”换行”的选项,给你一种记事本的体验。

如果不选择该项,文字就会超出对话框的范围。

评论:如果不换行,看起来就太痛苦了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏不想当开发的产品不是好测试

大坑记录 - shell脚本删除操作

背景 jenkins执行去执行shell命令,其中引用了一些jenkins的变量,如${WORKSPACE}这种,因为每次执行jenkins比较慢,于是想复制脚...

3538
来自专栏IT技术精选文摘

RPC原理及实现

1 简介 RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明...

7969
来自专栏北京马哥教育

实用 Linux 命令行使用技巧集锦

最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips。将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考。 ...

3688
来自专栏逻辑熊猫带你玩Python

Python | Debugger和pdb,鸡肋否?

我们知道虽然入门级编程语言最好是C和Python,但是C和Python是有这本质的不同的,那就是C语言是编译型语言,而Python是解释型语言。

2592
来自专栏木可大大

漫谈Web缓存架构

目前,Web应用的核心数据通常存放在数据库中,比如说用户信息、订单信息、交易信息等,同时,数据库和编程语言是无关的,通过SQL交互,Java、Php等语言写的程...

1233
来自专栏Golang语言社区

Golang 单元测试框架 gocheck 使用介绍

单元测试应该在的功能和参数上验证程序的正确性;单元测试过后,机器状态应该保持不变;单元测试的运行、通过、失败不依赖于别的测试,可以人为构造数据,以保持单元测试的...

3472
来自专栏我和PYTHON有个约会

05.第一个Python程序

python作为一种编程语言,通过编写程序的方式来解决问题 python编写的程序,是文本文件,后缀名称为[.py]

982
来自专栏北京马哥教育

别人比你快?试一试这百个超有用的Linux命令行使用技巧

本文由马哥教育面授班25期学员推荐,转载自互联网,作者为lingcc,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。 最近在问答社区上看...

3107
来自专栏Django中文社区

概述

通常情况下,Django 的视图函数(View)是一个纯粹的 Python 函数,它接收一个 request(HTTP 请求),返回一个 response(HT...

2797
来自专栏编程之旅

Python——爬虫入门 Urllib库的使用

最近在系统的学习Python爬虫,觉得还是比较有意思的,能够干很多的事情,所以也写点文章记录一下学习过程,帮助日后回顾。

961

扫码关注云+社区

领取腾讯云代金券