I’d like to add FindSymbolsByRegex, please let me know what I need to do.
Thanks.
I’d like to add FindSymbolsByRegex, please let me know what I need to do.
Thanks.
You should add it to both SBModule and SBTarget.
To add new APIs you need to:
- add function prototype to include/lldb/API/SBModule.h and include/lldb/API/SBTarget.h
- add function body to source/API/SBModule.cpp and source/API/SBTarget.cpp
- add function prototype to Swig interface files scripts/interface/SBModule.i and scripts/interface/SBTarget.h
- add test that tests both new interfaces in the "packages/Python/lldbsuite/test/python_api" directory by creating a new directory named something appropriate. You can start by copying the "event" directory in there to "symbol_regex" and then rename the test python file to SymbolRegex.py. And add a test the compiles a C++ file with a few virtual classes and then search use your new APIs and make sure they work as expected.
The function prototypes will be:
lldb::SBSymbolContextList
SBModule::FindSymbolsByRegex (const char *regex, lldb::SymbolType type = eSymbolTypeAny);
And
lldb::SBSymbolContextList
SBTarget::FindSymbolsByRegex (const char *regex, lldb::SymbolType type = eSymbolTypeAny);
The module version will search the module in the SBModule object only, and the SBTarget version will use the module list found in the target object.
Greg