class SoWrapper
Defined at line 29 of file ../../src/developer/debug/debug_agent/integration_tests/so_wrapper.h
SoWrapper functionalities are two-fold:
- Manages a given .so as a resource and exposes a way to expose the addresses
of symbols within that .so.
- Queries all the modules loaded within the current process. The main purpose
of this is to find the same module that was loaded by Init and be able to
start address.
With that the offset is calculable and we can know how far inside a
particular module a symbol is. That can then be used to place breakpoints or
other address specific tools.
Public Methods
bool Init (std::string so_name)
Fails if |so_name| doesn't point to a valid .so.
Defined at line 32 of file ../../src/developer/debug/debug_agent/integration_tests/so_wrapper.cc
void ~SoWrapper ()
Defined at line 44 of file ../../src/developer/debug/debug_agent/integration_tests/so_wrapper.cc
const std::string & so_name ()
Defined at line 47 of file ../../src/developer/debug/debug_agent/integration_tests/so_wrapper.h
uint64_t GetSymbolOffset (const char * module, const char * symbol)
GetSymbolAddress - GetModuleStartAddress.
Defined at line 63 of file ../../src/developer/debug/debug_agent/integration_tests/so_wrapper.cc
uint64_t GetModuleStartAddress (const char * module_name)
Gets the start address of a module loaded in the current process.
Returns 0 if not found.
Defined at line 49 of file ../../src/developer/debug/debug_agent/integration_tests/so_wrapper.cc
uint64_t GetSymbolAddress (const char * symbol_name)
Looks for the address where a particular symbol from the loaded .so is
loaded in the current address space.
Returns 0 if not found.
Defined at line 57 of file ../../src/developer/debug/debug_agent/integration_tests/so_wrapper.cc