Visual Studio 2008每日提示 第28辑

#271、启用地址级调试的设置的作用是什么? 
原文链接:What the Enable Address-Level Debugging option does 
操作步骤: 
菜单:工具+选项+调试+常规,有个”启用地址级调试”项,如果启用该项,将会得到另外三个调试工具:“反汇编”窗口、“寄存器”窗口和地址断点。 
 
如果不选中此项,就不会有。 
 
评论:启用地址级调试非常有用,可特别针对一些深层次的bug,容易找到问题所在。

#272、如何自动显示或不显示反汇编

原文链接:How to show the disassembly automatically or not at all 
操作步骤: 
菜单:工具+选项+调试+常规,在选中“启动地址级调试”后,选项“源代码不可用时显示反汇编”变成可用的。 
 
如果此项没有选中,你将看到如下对话框(当前位置的代码是不可用的,是否自动启动反汇编?) 
 
在对话框中选中“自动显示反汇编”项,就会显示代码的反汇编内容。 
评论:对很熟悉反汇编的人来说,这个功能很有用,对于不熟悉的,看反汇编就好比看天书了。

#273、用断点筛选器中断正确的进程

原文链接:You can use Breakpoint Filters to break the right process 
操作步骤: 
菜单:工具+选项+调试+常规,选中“启用断点筛选器”项。 
 
对于多个实例运行在一个应用上时,如果想中断其中一个实例的进程,就可以用点点筛选器。 右键单击断点,选择“筛选器” 
 
在筛选器对话框,你可以确定什么是中断,比如,指定进程的ID 
 
你可以在断点窗口来验证断点筛选器 
 
评论:这个功能对多进程的调试非常有用。

#274、不启用异常助手

原文链接:You can disable the Exception Assistant 
操作步骤: 
如果你单击一个异常,异常助手对话框就会弹出。如下图所示,就是一个“分母为零”的异常发生后出现异常助手。 
 
如果你不想看见异常助手,可以如下操作: 
菜单:工具+选项+调试+常规,不选中“启用异常助手”项。 
 
如果没有选中该项,单击断点时,你将获得一个典型的未处理的异常信息。 
 
评论:我觉得还是启用的好,对解决异常错误很有帮助。

#275、从异常助手里检查异常对象

原文链接: You can examine the exception object from the exception assistant 
操作步骤: 
在异常助手对话框中,有个“查看详情”的链接 
 
单击这个链接,将打开“查看详情”的对话框,显示有关异常内容。 
 
评论:查看异常的详情,对处理异常提供非常有用的提示。

#276、在异常助手里单击复制异常详情

原文链接: you can copy the exception details with one click from the exception assistant 
操作步骤: 
在异常助手对话框中,有个“复制异常详情到剪贴板”的链接,单击此链接,可以把异常的详情复制到剪贴板。 
 
评论:复制有关异常的内容,对测试人员记录异常信息很有用。

#277、在未处理的异常上调用堆栈时,做了什么?

原文链接:What unwinding the call stack on unhandled exceptions does 
操作步骤: 
菜单:工具+选项+调试+常规,选中“启用异常助手”项,在此项下面的“未处理的异常上调用堆栈”项变得可用。 
 
如果没有启动该项,意味着不会自动调用堆栈。启用该项,如下所示异常的变量出现在局部变量窗口。 
 
评论:此功能可以很详细查看有关堆栈中的异常变量。 
(注:有关#278-#287 在作者的博客缺失,原因不明。)

#288、显示外部代码

原文链接:How to show External code 
操作步骤: 
调试状态,在“调用堆栈”窗口,单击右键,选择“显示外部代码”,则会显示非用户的代码(系统代码)即外部代码 
 
 
评论:显示外部代码,可以从net 底层系统来调试程序了。说不定你也许可以找到net框架的bug呢

#289、什么是“仅你的代码”?

原文链接:what is just your code 
操作步骤: 
菜单:工具+选项+调试+常规,有个“启用‘仅我的代码’”项。 
那么那些是“你的”代码呢? 
1、你的代码被优化过。 
2、你的代码没有符号 
3、你的代码没有标记DebuggerNonUserCodeAttribute 
例如在一个解决方案里有两个项目:ClassLibrary1 and ConsoleApplication1,ConsoleApplication1调用ClassLibrary1 的类在控制台显示一个“hello world”,在生成的时候比较ClassLibrary1为优化,在ConsoleApplication1中封装Console.WriteLine 方法地方设置一个断点,然后单步调试,到达断点时候,发现在断点处中断了,继续按F11,并没有进入方法内部,而是跳到了下一行。 
 
评论:只调试我的代码,让你的更专注。

#290、在生成的时候,优化你的代码

原文链接:How to optimize your code for a build 
操作步骤: 
针对c#,在项目属性中,选择“生成”标签页选中“优化代码”。 
 
菜单:工具+选项+调试+常规,不选中“在模块加载中禁止jit优化’”项。 
 
随着优化代码选项被选中和禁止模块加载jit优化,在上篇例子中的ClassLibrary1被优化了,从而不再是你的代码了。 
 
评论:调试的选项非常丰富,需要学习的东东很多哟。










本文转自cnn23711151CTO博客,原文链接: http://blog.51cto.com/cnn237111/703565,如需转载请自行联系原作者






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值