Visual Studio 2008 每日提示(二十八)
#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、什么是“仅你的代码”?
操作步骤:
菜单:工具+选项+调试+常规,有个“启用‘仅我的代码’”项。
那么那些是“你的”代码呢?
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被优化了,从而不再是你的代码了。
评论:调试的选项非常丰富,需要学习的东东很多哟。
转自:http://www.cnblogs.com/xjb/archive/2009/01/14/visual-studio-2008-tip-day-28.html