Package ghidra.trace.model.symbol
Interface TraceSymbolWithAddressView<T extends TraceSymbol>
- Type Parameters:
T- the type of symbols in the view
- All Superinterfaces:
TraceSymbolView<T>
- All Known Subinterfaces:
TraceSymbolWithAddressNoDuplicatesView<T>
- All Known Implementing Classes:
DBTraceSymbolMultipleTypesWithAddressNoDuplicatesView,DBTraceSymbolMultipleTypesWithAddressView
A symbol view for things with an address in stack or register space, but not associated with a
trace thread.
NOTE: This class is somewhat vestigial. It would be used to index parameters, locals, and global variables by their storage addresses. However, functions (and thus parameters and locals) are no longer supported. Furthermore, global variables are not fully implemented, yet.
- Implementation Notes:
- If this is later used for global variables, we might need to consider that the variable
is no longer implicitly bound in time by a parent function. We might remove this and
use
TraceSymbolWithLocationViewinstead. Even if we brought back function support, being able to query by those implicit bounds would probably be useful.
-
Method Summary
Modifier and TypeMethodDescriptionCollection<? extends T> Get symbols in this view containing the given address.getChildWithNameAt(String name, Address address, TraceNamespaceSymbol parent) Get the child of the given parent having the given name at the given address.default TgetGlobalWithNameAt(String name, Address address) A shorthand forgetChildWithNameAt(String, Address, TraceNamespaceSymbol)where parent is the global namespace.Collection<? extends T> getIntersecting(AddressRange range, boolean includeDynamicSymbols) Get symbols in this view intersecting the given address range.default booleanCheck if this view contains any symbols at the given address.Methods inherited from interface ghidra.trace.model.symbol.TraceSymbolView
getAll, getChildren, getChildrenNamed, getGlobals, getGlobalsNamed, getManager, getNamed, getTrace, getWithMatchingName, scanByName, size
-
Method Details
-
getChildWithNameAt
Get the child of the given parent having the given name at the given address.- Parameters:
name- the name of the symboladdress- the address of the symbolparent- the parent namespace- Returns:
- the symbol, or null
-
getGlobalWithNameAt
A shorthand forgetChildWithNameAt(String, Address, TraceNamespaceSymbol)where parent is the global namespace.- Parameters:
name- the name of the symboladdress- the address of the symbol- Returns:
- the symbol, or null
-
getIntersecting
Get symbols in this view intersecting the given address range.- Parameters:
range- the rangeincludeDynamicSymbols- true to include dynamically-generated symbols- Returns:
- the symbols in this view satisfying the query
-
getAt
Get symbols in this view containing the given address.- Parameters:
address- the address of the symbolincludeDynamicSymbols- true to include dynamically-generated symbols- Returns:
- the symbols in this view satisfying the query
-
hasAt
Check if this view contains any symbols at the given address.- Parameters:
address- the address of the symbolincludeDynamicSymbols- true to include dynamically-generated symbols- Returns:
- true if any symbols in this view satisfy the query
-