Title and Copyright Information
Preface
Audience
Organization
FUSE Information Set
Send Us Your Comments
Conventions
1 Why Use FUSE?
1.1 Boost Your Productivity
1.1.1 Shorten the Learning Curve
1.1.2 Visualize Your Software
1.1.3 Advantages of Tool Integration
1.1.4 Speed Development with FUSE Enhancements
1.1.5 Get Information On-Line
1.2 Tailor Your Working Environment
1.2.1 Working with Projects
1.2.2 Modifying the Tools Menu
1.2.3 Reestablishing Your Work Context
1.2.4 Customizing the FUSE User Interface
1.3 Summary of FUSE Tools
2 Preparing to Use FUSE
2.1 Starting FUSE
2.1.1 Use the Command Line
2.1.2 Use the FUSE Icon from CDE
2.1.3 Running More Than One FUSE Session
2.2 Exiting from FUSE
2.3 Starting FUSE Tools
2.3.1 Use the Command Line
2.3.2 Use the FUSE Tool Icons from CDE
2.3.3 Use the FUSE Control Panel
2.3.4 Use the Tools Menu from Most FUSE Tools
2.4 Setting Up a Project
2.5 Exiting from a Tool
2.6 Getting Help on FUSE and FUSE Tools
2.6.1 Help on Screen Objects and Dialog Boxes
2.6.2 Help on Programming Tasks and Reference Information
2.6.3 Access to FUSE Tutorials
2.6.4 Help on Dialog and Error Boxes
2.7 Using Main Windows
2.8 Copying and Using the FUSE Example Programs
2.9 Enhancing Your FUSE Environment Using CDE
2.9.1 Organizing Your Work Context
2.9.2 Customizing Colors and Fonts
2.9.3 Invoking Actions of Files
3 A Guided Tour of FUSE
3.1 Start FUSE with a Specific Environment
3.2 Create a Makefile
3.2.1 Analyze Dependencies in the Makefile
3.2.2 View Annotated Source Code in the Editor
3.3 Set Up and Start the Debugger
3.3.1 Display Call Stack Information
3.3.2 Run the Program with Breakpoints
3.4 Find a Search Pattern in Source Code Files
3.5 Create a Source Code Library
3.5.1 Insert Files into the Library
3.5.2 Check Files Out of and Into the Library
3.6 Compare Revisions of Files
3.6.1 Annotate Differences in the Editor
3.6.2 Merge Revisions of Files
3.7 Generate Memory Analysis Data
3.7.1 Display Memory Analysis Data
3.8 Generate Profiling Data
3.8.1 Display Profiling Data
3.8.2 Pinpoint a Hotspot in Profiling Data
3.9 View Search Result, Memory Analysis Data, and Profiling Data
3.10 Locate Declarations by Name and Classification
3.11 Analyze Routine Call Relationships
3.12 Analyze Calls Between Source Files
3.13 Display the Class Hierarchy for a C++ Program
3.14 Port Your Application
4 Builder
4.1 Summary of Features
4.2 Requirements for Using the Builder
4.3 Starting the Builder
4.3.1 Use the Command Line
4.3.2 Use the Builder Icon from CDE
4.3.3 Use the FUSE Control Panel
4.3.4 Use the Tools Menu from Most FUSE Tools
4.4 Setting Project Properties for the Builder
4.5 Using the Makefile Graph Display
4.5.1 Turning the Makefile Graph Off and On
4.5.2 Using the Mouse for Viewing Information in the Makefile Graph
4.6 Executing a Local Build
4.7 Executing a Distributed Build
4.8 Generating Static Analysis Data with the Build
4.9 Creating a Makefile
4.10 Tailoring Makefiles
4.10.1 Dependencies on System Include Files
4.10.2 Dependencies on RCS and SCCS in gnumake
4.10.3 Demangling Output from the Linker when Using C++
4.11 Tracking and Correcting Build Errors
4.11.1 Navigating and Filtering Porting Assistant Diagnostic Messages
5 C++ Class Browser
5.1 Summary of Features
5.2 When to Use the Class Browser
5.3 Requirements for Using the C++ Class Browser
5.4 Accessing the C++ Class Browser
5.5 Starting the C++ Class Browser
5.5.1 Use the Command Line
5.5.2 Use the C++ Class Browser Icon from CDE
5.5.3 Use the FUSE Control Panel
5.5.4 Use the Tools Menu from Most Tools
5.6 Updating the Class Graph
5.7 Adding and Removing Classes from the Graph
5.7.1 Adding a Class
5.7.2 Removing a Class
5.7.3 Finding a Class by Name
5.8 Understanding the Class Graph
5.8.1 Colors in the Class Graph
5.8.2 Lines in the Class Graph
5.9 Navigating the Class Graph
5.10 Displaying Data for Classes and Members
5.11 Filtering the Members List
5.11.1 Filtering from the Main Window
5.11.2 Detailed Filtering by Name and Characteristic
5.12 Changing the Layout of a Class Graph
5.13 Editing and Debugging Source Code
5.14 Starting the C++ Class Browser from an Editor
6 Call Graph Browser
6.1 Summary of Features
6.2 Requirements for Using the Call Graph Browser
6.3 Starting the Call Graph Browser
6.3.1 Use the Command Line
6.3.2 Use the Call Graph Browser Icon from CDE
6.3.3 Use the FUSE Control Panel
6.3.4 Use the Tools Menu from Most FUSE Tools
6.4 Updating the Call Graph
6.5 Shapes and Colors Used in the Call Graph
6.6 Using the Call Graph Browser with Other Tools
6.7 Using the Call Graph Browser Transcript Area
6.8 Using the Call Graph Browser Small Views
6.9 Working with Large Graphs
6.10 Panning the Call Graph
6.11 Selecting Nodes in the Call Graph
6.12 Commands Available on the Pop-Up Menu
7 Code Manager
7.1 Summary of Features
7.2 Requirements for Using the Code Manager
7.3 Starting the Code Manager
7.3.1 Use the Command Line
7.3.2 Use the Code Manager Icon from CDE
7.3.3 Use the FUSE Control Panel
7.3.4 Use the Tools Menu from Most Tools
7.4 Opening Libraries
7.5 Using the Library Graph
7.6 Using the Code Manager Transcript Area
7.7 Merging Files Using the Code Manager
7.8 Running a Process Before or After a Code Manager Function
7.8.1 Specifying Processing Commands
7.8.2 Command Parameters
7.8.3 Examples of Parameter Substitution
7.8.4 Error Handling
8 Compare
8.1 Summary of Features
8.2 Requirements for Using Compare
8.3 Starting Compare
8.3.1 Use the Command Line
8.3.2 Use the Compare Icon from CDE
8.3.3 Use the FUSE Control Panel
8.3.4 Use the Tools Menu from Most FUSE Tools
8.4 Comparing the Contents of Files
8.5 Customizing the Compare Main Window
8.6 Using the FUSE Editor with Compare
8.7 Merging Files Using Compare
9 Control Panel
9.1 Summary of Features
9.2 Starting and Stopping FUSE Tools
9.3 Setting Up a Work Context with Projects
9.4 Creating and Maintaining Projects
9.4.1 Creating and Setting Up Projects
9.4.2 Opening and Selecting the Current Project
9.4.3 Deleting a Project
9.5 Saving and Recalling Projects
9.5.1 Saving a Project
9.5.2 Recalling a Project
9.6 Managing Projects and Tools
9.6.1 Iconifying and Deiconifying Projects and Tools
9.6.2 Using the Pop-Up Menu
9.7 Modifying the Tools Menu
9.8 Customizing the FUSE Environment
9.8.1 Customizations That Affect Individual Tools
9.8.2 Customizations That Affect All Tools
9.9 Training and Help Menus
10 Cross-Referencer
10.1 Summary of Features
10.2 Requirements for Using the Cross-Referencer
10.3 Starting the Cross-Referencer
10.3.1 Use the Command Line
10.3.2 Use the Cross-Referencer Icon from CDE
10.3.3 Use the FUSE Control Panel
10.3.4 Use the Tools Menu from Most FUSE Tools
10.4 Updating the Cross-Referencer Data
10.5 Issuing a Query
10.5.1 Choosing a Query Type
10.5.2 Specifying Search Patterns for Symbol Names
10.6 Issuing a Declaration Query
10.7 Issuing a Reference Query
10.8 Issuing an Assignment Query
10.9 Issuing a Function Query
10.10 Issuing a Call Query
10.11 Reviewing Query Results
10.12 Reissuing Previous Queries
10.13 Finding Occurrences of a String in the Query Results Area
10.14 Resetting the Query Definition Area
10.15 Using the Cross-Referencer with Other Tools
11 Database Manager
11.1 Accessing the Database Manager
11.2 Static Analysis Data Directory
11.3 FUSE Language Scanners
11.4 Scanning Resource File
11.5 Updating a Static Analysis Database
11.6 Using the Database Transcript Window
12 Debugger
12.1 Summary of Features
12.1.1 Major Features
12.1.2 Basic Debugging Techniques
12.1.3 Convenience Features
12.2 Requirements for Using the Debugger
12.3 Starting the Debugger
12.3.1 Use the Command Line
12.3.2 Use the Debugger Icon from CDE
12.3.3 Use the FUSE Control Panel
12.3.4 Use the Tools Menu from Most FUSE Tools
12.3.5 Completing the Run New Program Dialog Box
12.4 Debugger Engine and User Interface
12.5 Language Support
12.6 Debugger Documentation
12.7 Using an Editor with the Debugger
12.8 Customizing the Debugger Environment
13 Editors
13.1 Starting the Editors
13.1.1 Use the Command Line
13.1.2 Use the Editor Icon from CDE
13.1.3 Use the FUSE Control Panel
13.1.4 Use the Tools Menu from Most FUSE Tools
13.1.5 Invoke the Editor from Another Tool
13.2 FUSE Editor
13.2.1 Summary of Features
13.2.2 Using the FUSE Editor
13.2.3 Key Bindings for FUSE Editor Commands
13.2.4 Accessing and Using Language Templates
13.2.4.1 Replacing Placeholder Text in Language Templates
13.2.4.2 Creating and Binding Custom Language Templates
13.2.5 Customizing the FUSE Editor
13.3 Emacs Editors
13.3.1 Starting an Emacs Editor
13.3.2 Setting the Emacs Path for Use in FUSE
13.3.3 Entering X Default Values
13.3.4 Using LISP Commands
13.4 vi Editor
13.5 Using the Editors with Other Tools
13.5.1 Setting and Removing Breakpoints
13.5.2 Code Management Actions
13.5.3 Displaying Code for Compared Files
13.5.4 Editing the Current Makefile
13.5.5 Viewing Code Associated with a Makefile or Build Error
13.5.6 Viewing Code Associated with a Call Graph
13.5.7 Viewing Code Associated with a Class Graph
13.5.8 Viewing Code Associated with a Run-Time Statistic
13.5.9 Viewing the File Associated with Search Results
13.5.10 Displaying Information About Functions
13.5.11 Displaying Declarations of Programming Symbols
13.5.12 Displaying References to Programming Symbols
13.5.13 Displaying a Reference Page While Editing a File
13.5.14 Displaying Information About Classes
14 Heap Analyzer
14.1 Summary of Features
14.2 Requirements for Using the Heap Analyzer
14.3 Compiling Your Program
14.4 Starting the Heap Analyzer
14.4.1 Use the Command Line
14.4.2 Use the Heap Analyzer Icon from CDE
14.4.3 Use the FUSE Control Panel
14.4.4 Use the Tools Menu from Most FUSE Tools
14.5 Heap Analyzer Actions
14.5.1 Generate Data Action
14.5.2 Show Data Action
14.5.2.1 Types of Data and Display Formats
14.5.2.2 Showing More Detailed Information
15 Man Page Browser
15.1 Summary of Features
15.2 Starting the Man Page Browser
15.2.1 Use the Command Line
15.2.2 Use the Man Page Browser Icon from CDE
15.2.3 Use the FUSE Control Panel
15.2.4 Use the Tools Menu from Most FUSE Tools
15.3 Displaying a Reference Page
15.4 Searching for Reference Pages
15.5 Finding Occurrences of a String in Reference Page Text
15.6 Displaying a File as a Reference Page
15.7 Copying Text to Another Window
15.8 Customizing the Man Page Browser
16 Message Monitor
16.1 Requirements for Using the Message Monitor
16.2 Starting the Message Monitor
17 Porting Assistant
17.1 Summary of Features
17.2 Starting the Porting Assistant
17.2.1 Use the Command Line
17.2.2 Use the Porting Assistant Icon from CDE
17.2.3 Use the FUSE Control Panel
17.2.4 Use the Tools Menu from Most FUSE Tools
17.3 Setting Up the Porting Assistant
17.4 Creating a Porting-Specific Makefile
17.5 Order of Porting Steps
17.6 Typical Porting Process Using FUSE
17.7 Running Specific Checks on Your Code
17.8 Reviewing Diagnostic Messages
17.8.1 Reviewing Diagnostics in the Builder
17.8.2 Reviewing Diagnostics in the FUSE Editor
17.8.3 Reviewing Diagnostics in Emacs
17.9 Filtering Diagnostic Messages
18 Profiler
18.1 Summary of Features
18.2 Requirements for Using the Profiler
18.3 Compiling Your Program
18.4 Starting the Profiler
18.4.1 Use the Command Line
18.4.2 Use the Profiler Icon from CDE
18.4.3 Use the FUSE Control Panel
18.4.4 Use the Tools Menu from Most FUSE Tools
18.5 Profiling Actions
18.5.1 Generate Data Action
18.5.2 Show Data Action
18.6 Types of Statistics Displayed by the Profiler
18.7 Display Formats
18.8 Showing More Detailed Information
19 Program Visualizer
19.1 Summary of Features
19.2 Using the Program Visualizer with Other Tools
19.2.1 Heap Analyzer
19.2.2 Profiler
19.2.3 Search
19.2.4 Editors
19.3 Starting the Program Visualizer
19.3.1 Use the Command Line
19.3.2 Use the Program Visualizer Icon from CDE
19.3.3 Use the FUSE Control Panel
19.3.4 Use the Tools Menu from Most FUSE Tools
19.4 Program Visualizer Terminology
19.5 Visualizing Data
19.5.1 Specifying Data to Visualize
19.5.2 Types of Files That Can Be Visualized
19.5.3 Identifying Data Objects in the Display Area
19.5.4 Saving the Current Display to a DataSet File
19.6 Event Operations
19.6.1 Displaying Event Information Using the Flyby Window
19.6.2 Choosing the Events to Display
19.6.3 Displaying Event Information Using the Event Window
19.6.4 Tracking Events
20 Search
20.1 Summary of Features
20.2 Requirements for Using Search
20.3 Starting the Search Tool
20.3.1 Use the Command Line
20.3.2 Use the Search Tool Icon from CDE
20.3.3 Use the FUSE Control Panel
20.3.4 Use the Tools Menu from Most FUSE Tools
20.4 Setting Up Search
20.5 Executing a Search
20.6 Replacing Strings
20.7 Integration with Other Tools
21 Version Controller
21.1 Summary of Features
21.2 Requirements for Using the Version Controller
21.3 Starting the Version Controller
21.3.1 Use the Command Line
21.3.2 Use the Version Controller Icon from CDE
21.3.3 Use the FUSE Control Panel
21.3.4 Use the Tools Menu from Most FUSE Tools
21.4 Selecting a Library
21.5 Additional Requirements When Using ClearCase
21.6 Activating ClearCase from the FUSE Environment
21.7 Using the Version Controller Transcript Area
21.8 Defining Version Controller Commands
21.9 Checking a File Out of the Library
21.10 Checking a File Into the Library
A Reserved Words
A.1 Reserved Words for C Programs
A.2 Reserved Words for DEC C++ Programs
A.3 Reserved Words for Fortran 90 Programs
A.4 Reserved Words for Pascal Programs
A.5 Reserved Words for Fortran Programs
B Static Analysis Database Outside FUSE
B.1 Steps to Follow
D Options for Invoking FUSE and Its Tools
E Matching FUSE to Your Work Environment
E.1 Getting Optimal Performance While Running FUSE
E.2 Getting Access to Files from FUSE
E.3 Running FUSE Remotely
E.4 Using FUSE with a Monochrome Display