Team System:构建健壮而可靠的软件
批注支持
PREfast 还支持批注以改善代码分析的精确性。批注提供有关函数参数和返回类型的之前和之后条件的附加信息。
<1>[SA_Post ( MustCheck=SA_Yes)] 要求调用方检查 CalcSquareRoot 的返回值
<2> [SA_Pre ( Null=SA_No)] 要求调用方将非空参数“source”传递给 CalcSquareRoot
命令行支持
除了与开发环境完全集成之外,开发人员还可以从命令行使用 PREfast,如下所示。
FxCop 是一个静态分析工具,它分析托管代码程序集并报告有关程序集的信息,例如,与 Microsoft .NET Framework Design Guidelines 中阐述的编程和设计规则相冲突。FxCop 表示在分析过程中作为规则执行的检查。规则是一段托管代码,该代码分析程序集并返回有关它发现结果的消息。规则消息识别任何相关的编程和设计问题,并在可能的情况下,提供有关如何修复目标的信息。
IDE 集成
为了使开发人员能够自然地使用分析工具,开发人员可以在项目的 Property Pages 上选择 Run FxCop,如图 3 所示。
图 3. 启用 FxCop

有关包含或排除规则,将规则作为警告或错误的附加选项,也可以在 Property Pages 中找到,如图 4 所示。
图 4. FxCop 规则

一旦启用 FxCop,在生成过程中,FxCop 就会在 Error List 中报告冲突,如图 5 所示。
图 5. FxCop 规则冲突

Error List 提供有关规则冲突的信息和建议,以便于您纠正错误。只需在 Error List 中双击规则冲突,即可轻松地定位到触犯了规则的代码行。
MSBuild 集成
Visual Studio 的下一个版本从根本上改进了生成过程,其方法是引入一个新的、名为 MSBuild 的生成引擎。可以通过 MSBuild 系统调用 FxCop。这使开发人员能够从命令行运行托管项目上的 FxCop。
性能工具
在 Visual Studio 2005 Team System 中,开发人员可以通过性能工具来度量、计算和定位代码中与性能相关的问题。这些工具都完全集成到 IDE 中,以提供无缝、友好的用户体验。
性能工具支持两种分析方法:
<1> 采样
<2> 使用仪器
在采样的过程中,数据收集基础结构将定期中断正在执行的应用程序,以确定正在执行的是哪个函数,并增加函数的采样计数。它存储有关准备函数调用的调用堆栈的信息。
PREfast 还支持批注以改善代码分析的精确性。批注提供有关函数参数和返回类型的之前和之后条件的附加信息。
在上面的示例中:#include
[SA_Post( MustCheck=SA_Yes )] double* CalcSquareRoot
(
[SA_Pre( Null=SA_No )] double* source,
unsigned int size
)
<1>[SA_Post ( MustCheck=SA_Yes)] 要求调用方检查 CalcSquareRoot 的返回值
<2> [SA_Pre ( Null=SA_No)] 要求调用方将非空参数“source”传递给 CalcSquareRoot
命令行支持
除了与开发环境完全集成之外,开发人员还可以从命令行使用 PREfast,如下所示。
FxCopC:\>cl /prefast Sample.cpp
FxCop 是一个静态分析工具,它分析托管代码程序集并报告有关程序集的信息,例如,与 Microsoft .NET Framework Design Guidelines 中阐述的编程和设计规则相冲突。FxCop 表示在分析过程中作为规则执行的检查。规则是一段托管代码,该代码分析程序集并返回有关它发现结果的消息。规则消息识别任何相关的编程和设计问题,并在可能的情况下,提供有关如何修复目标的信息。
IDE 集成
为了使开发人员能够自然地使用分析工具,开发人员可以在项目的 Property Pages 上选择 Run FxCop,如图 3 所示。
图 3. 启用 FxCop

有关包含或排除规则,将规则作为警告或错误的附加选项,也可以在 Property Pages 中找到,如图 4 所示。
图 4. FxCop 规则

一旦启用 FxCop,在生成过程中,FxCop 就会在 Error List 中报告冲突,如图 5 所示。
图 5. FxCop 规则冲突

Error List 提供有关规则冲突的信息和建议,以便于您纠正错误。只需在 Error List 中双击规则冲突,即可轻松地定位到触犯了规则的代码行。
MSBuild 集成
Visual Studio 的下一个版本从根本上改进了生成过程,其方法是引入一个新的、名为 MSBuild 的生成引擎。可以通过 MSBuild 系统调用 FxCop。这使开发人员能够从命令行运行托管项目上的 FxCop。
性能工具
在 Visual Studio 2005 Team System 中,开发人员可以通过性能工具来度量、计算和定位代码中与性能相关的问题。这些工具都完全集成到 IDE 中,以提供无缝、友好的用户体验。
性能工具支持两种分析方法:
<1> 采样
<2> 使用仪器
在采样的过程中,数据收集基础结构将定期中断正在执行的应用程序,以确定正在执行的是哪个函数,并增加函数的采样计数。它存储有关准备函数调用的调用堆栈的信息。
0
相关文章