Red Hat Docs > Manuals > EDK Manuals > |
The Cross-Reference Browser shows you where elements in your program are used or accessed. It can find every call of a function, or tell you everything a particular function calls. It creates tree diagrams that show essential relationships within the project's symbol database, such as the function-call hierarchy tree. You can traverse up and down the hierarchy tree, as well as expand or restrict the tree. You can select items in the hierarchy and display their Refers-to and Referred-by relationships; these relationships are based on the "point-of-view" of the selected symbol.
A Refers-to relationship is one where the selected symbol is used in the context of another symbol, which is in turn Referred-by the selected symbol.
Source-Navigator creates the cross-reference database in the background, which enables you to work in other views. During this process, the Cross-Reference tool button is disabled (grayed-out). After the database is built, the Cross-Reference tool can be opened.
Although you can always start the Cross-Reference Browser from the Windows menu by selecting New View -> Xref, you may want to start the Cross-Reference Browser so that it focuses on a specific symbol. To do this, select a symbol in the Symbol Browser or Editor, and then click the Cross-Reference tool button or choose the Xref tab.
The selected symbol becomes the root symbol in the Symbol Accelerator text box at the top left of the Cross-Reference Browser window. The references that Refer-to the root symbol are indicated by connecting lines and those that are Referred-by are indicated by connecting arrows. You can traverse the hierarchy tree by selecting references and clicking the right-pointing hand tool (Refers-to) and left-pointing one (Referred-by) as shown in Cross-Reference Browser Window.
Cross-Reference Browser Window
The Remove Subnodes button allows you to remove displayed subnodes from the hierarchy tree view.
To set the number of subnode levels to display, enter a positive integer in the Levels text entry box.
Double-clicking a symbol in the Cross-Reference Browser window starts the Editor, with the specific symbol in context in the source file. The cross-reference information is stored in the database and is kept current by the Editor.
Click the Filter icon to bring up the Filter dialog. The symbols displayed by the Cross-Reference Browser are included based on these settings.
All
Sets all non-Access selections.
None
Clears all non-Access selections.
Holding down the right mouse button on a symbol in the Cross-Reference Browser brings up a popup menu that allows you to filter the list of symbols you're working with, as well as to gather new information about the symbols you're interested in.
Cross-Reference Browser, Right Mouse Button Down
Choosing Details By brings up a window that shows where each symbol in the list is referenced.
Cross-Reference Browser Showing Details By Window
Clicking on the column headers allows you to sort by the selected column, either alphabetically, by line number, by class, etc. The Pattern text entry box in the window allows you to use a string to filter the list.
Symbols that occur multiple times are listed; when you click on a symbol and then add the Editor to the window (from the Windows menu, select Add View -> Editor), the Editor shows where that symbol is referenced.
Editor Showing Referencing of Symbol
Preference settings for the Cross-Reference Browser are located in the Xref tab of the Preferences dialog.
Cross-Reference Tab of the Preferences Dialog
Build Cross-Reference database
Select this if you would like Source-Navigator to build the cross-reference databases for your project. This is on by default.
Generate references to local
variables
Select this if you would like cross-reference information for local variables.
This is off by default.
Parsing is much slower when cross-referencing local variables. Also, the database size grows considerably when generating local variable cross-references. Make sure that you have an adequate amount of disk space (approximately 10 times the space used by your source code).
Audible alert when complete
Selecting this causes a bell to ring when cross-referencing is complete.
Compare parameters
Select this to generate cross-references only when the parameter types of the
Refers-to
and
Referred-by
symbols match. Deselecting this allows symbols to be considered matches, regardless of differences in parameters.
Compare static information
Select this to generate cross-references only when both the
Refers-to
and
Referred-by
static attributes match.
Display parameter list
Select this to display parameters with the symbol in the
Cross-Reference Browser
window.
Display boxes
Select this to surround cross-reference nodes with boxes.
Display order:
Left to right
displays the cross-reference hierarchy from left to right;
Top to Bottom
displays it from top to bottom.
Display layout style:
Select
Tree
to display cross-references in tree layout; select
ISI
to display them in ISI layout.
Vertical space:
Enter the number of vertical pixels between symbols in the
Cross-Reference Browser
window.
Horizontal space:
Enter the number of horizontal pixels between symbols in the
Cross-Reference Browser
window.
| ||
---|---|---|