Contents

Using the Mouse Pointer Versus the Text Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Editing Multiple Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Reusing the Edit Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Selecting, Copying, and Pasting Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Calling Other SoftBench Tools from the Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Compiling a Program File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Building a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Accessing SoftBench Static Analyzer from the Editor . . . . . . . . . . . . . . . . . . . . . . . 130 Setting Breakpoints in a Program File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Using Configuration Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

5. Using SoftBench Class Graph/Editor

Editing C++ Structures with SoftBench Class Graph/Editor . . . . . . . . . . . . . . . . . . . 134 Understanding the SoftBench Class Graph/Editor Use Model . . . . . . . . . . . . . . . . 134 Using SoftBench Class Graph/Editor with Other SoftBench Editors . . . . . . . . . . . 136 Synchronizing Editor Views and the Static Database . . . . . . . . . . . . . . . . . . . . . . . 136 Using SoftBench Class Graph/Editor in Your Work . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Viewing the Existing Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Creating New Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Modifying Existing Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Deleting Existing Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Sample Use Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Creating a New Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Modifying an Existing Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Working with Class Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Using Configuration Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 If Something Goes Wrong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

6. Using SoftBench CodeAdvisor

Comparing SoftBench CodeAdvisor to Debuggers or Dynamic Analyzers . . . . . . . . 148 Performing the "Check Code" Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Preparing Your Program with Project Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Preparing Your Program with External Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Accessing SoftBench CodeAdvisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Selecting Rule Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

10