Understanding Devpartner Studio
Total Page:16
File Type:pdf, Size:1020Kb
Understanding DevPartner ® DevPartner Studio Professional Edition DevPartner Studio Enterprise Edition DevPartner for Visual C++ BoundsChecker Suite Release 9.0 Technical support is available from our Technical Support Hotline or via our FrontLine Support Web site. Technical Support Hotline: 1-800-538-7822 FrontLine Support Web Site: http://frontline.compuware.com This document and the product referenced in it are subject to the following legends: Access is limited to authorized users. Use of this product is subject to the terms and conditions of the user’s License Agreement with Compuware Corporation. © 2008 Compuware Corporation. All rights reserved. Unpublished - rights reserved under the Copyright Laws of the United States. U.S. GOVERNMENT RIGHTS Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in Compuware Corporation license agreement and as provided in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), DFARS 252.227-7013(c)(1)(ii)(OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable. Compuware Corporation. This product contains confidential information and trade secrets of Com- puware Corporation. Use, disclosure, or reproduction is prohibited with- out the prior express written permission of Compuware Corporation. DevPartner® and BoundsChecker are trademarks or registered trademarks of Compuware Corporation. Adobe® Reader copyright © 1984-2008 Adobe Systems Incorporated. All rights reserved. Adobe, Acrobat, and Acrobat Reader are trademarks of Adobe Systems Incorporated. All other company or product names are trademarks of their respective owners. US Patent Nos.: 5,987,249, 6,332,213, 6,186,677, 6,314,558, 6,760,903 B1,and 6,016,466 September 19, 2008 Table of Contents Preface Who Should Read This Manual . xiii What This Manual Covers . xiv Conventions Used In This Manual . xv For More Information . xv Chapter 1 Introducing DevPartner What is DevPartner Studio? . 1 Error Detection . 2 Static Code Analysis . 2 Coverage Analysis . 3 Memory Analysis . 3 Performance Analysis . 4 In-Depth Performance Analysis . 4 System Comparison . 5 DevPartner and Visual Studio . 5 Menus and Toolbars in Visual Studio . 6 Using DevPartner in Visual Studio . 8 Integrated Online Help . 8 Visual Studio Team System Support . 8 Using Terminal Services and Remote Desktop . 9 Licensing . 10 Running Multiple Sessions Under Terminal Services . 10 DevPartner in the Software Development Cycle . 10 iii Chapter 2 Error Detection What is Error Detection? . 14 Using Error Detection Out of the Box . 14 Ready: Deciding the Scope of Error Detection Analysis . 15 Set: Configuring Options and Settings . 16 Go: Running Your Solution with Error Detection . 17 Analyzing the Data in the Results Pane . 19 Saving Session Files . 23 Deciding When to Use ActiveCheck vs. FinalCheck . 24 Understanding ActiveCheck . 24 Understanding FinalCheck . 25 Comparing ActiveCheck and FinalCheck — An Example . 26 Using the Program Error Detected Dialog Box . 27 Understanding the Actions You Can Take . 27 Understanding the Memory and Resource Viewer Dialog Box . 29 Exploring the Memory and Resource Viewer User Interface . 30 Understanding the Suppression and Filtering Dialog Boxes . 30 Suppressing Errors . 31 Filtering Errors . 34 Understanding Call Validation . 36 Enabling Memory Block Checking . 37 Using the Settings Dialog Box . 37 Setting General Properties . 38 Setting Data Collection Properties . 39 Setting API Call Reporting Properties . 40 Setting Call Validation Options . 41 Setting COM Call Reporting Properties . 42 Setting COM Object Tracking Options . 43 Setting Deadlock Analysis Options . 43 Setting Memory Tracking Options . 45 Setting .NET Framework Analysis Options . 48 Setting .NET Framework Call Reporting Properties . 49 Setting Resource Tracking Options . 49 Setting Modules and Files Options . 50 Setting Fonts and Colors Options . 52 Setting Configuration File Management Options . 53 Tracking Windows Messages and Event Logging . 54 Exporting Data to XML . 54 Exporting Data from within Visual Studio . 54 Exporting Data from the Error Detection Standalone Application . 55 iv Understanding DevPartner Exporting Data from the Command Line . 55 Running Error Detection from the Command Line . 56 Command Line Options and Syntax . 56 Running FinalCheck from the Command Line . 57 Submitting Data to Visual Studio Team System . 58 Visual Studio Team System Support in DevPartner Error Detection . 58 Chapter 3 Static Code Analysis What is Code Review? . 60 Using Code Review Out of the Box . 60 Ready: Deciding How You Want to Run the Review . 61 Set: Selecting Options and Settings . 62 Go: Starting Your Code Review Session . 64 Analyzing the Results and Repairing Violations . 64 Saving Session Files . 68 Setting Options . 69 Configuring General Options . 70 Setting Naming Guidelines Options . 74 Managing Suppressed Rules . 76 Suppressing Rules . 77 Viewing Summary Data . 78 Viewing Code Violations . 80 Viewing Naming Violations . 82 Analyzing Hungarian Results . 82 Analyzing Naming Guidelines Results . ..