Index: lldb/bindings/interface/SBProcess.i =================================================================== --- lldb/bindings/interface/SBProcess.i +++ lldb/bindings/interface/SBProcess.i @@ -397,6 +397,9 @@ bool IsInstrumentationRuntimePresent(lldb::InstrumentationRuntimeType type); + lldb::SBError + SaveCore(const char *file_name, const char *plugin_name); + lldb::SBError SaveCore(const char *file_name); Index: lldb/include/lldb/API/SBProcess.h =================================================================== --- lldb/include/lldb/API/SBProcess.h +++ lldb/include/lldb/API/SBProcess.h @@ -338,6 +338,9 @@ bool IsInstrumentationRuntimePresent(InstrumentationRuntimeType type); /// Save the state of the process in a core file (or mini dump on Windows). + lldb::SBError SaveCore(const char *file_name, const char *plugin_name); + + // Save the state of the process with the default plugin. lldb::SBError SaveCore(const char *file_name); /// Query the address load_addr and store the details of the memory Index: lldb/source/API/SBProcess.cpp =================================================================== --- lldb/source/API/SBProcess.cpp +++ lldb/source/API/SBProcess.cpp @@ -1138,6 +1138,12 @@ lldb::SBError SBProcess::SaveCore(const char *file_name) { LLDB_INSTRUMENT_VA(this, file_name); + return SaveCore(file_name, ""); +} + +lldb::SBError SBProcess::SaveCore(const char *file_name, + const char *plugin_name) { + LLDB_INSTRUMENT_VA(this, file_name, plugin_name); lldb::SBError error; ProcessSP process_sp(GetSP()); @@ -1156,7 +1162,8 @@ FileSpec core_file(file_name); SaveCoreStyle core_style = SaveCoreStyle::eSaveCoreFull; - error.ref() = PluginManager::SaveCore(process_sp, core_file, core_style, ""); + error.ref() = PluginManager::SaveCore(process_sp, core_file, core_style, + plugin_name); return error; }