[Lldb-commits] [lldb] [LLDB] Add draft docstrings for SBSaveCoreOptions (PR #123132)
Jacob Lalonde via lldb-commits
lldb-commits at lists.llvm.org
Thu Jan 16 12:36:23 PST 2025
https://github.com/Jlalond updated https://github.com/llvm/llvm-project/pull/123132
>From dbe633443f608f292c1f7f775d1b96b7eb808965 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde <jalalonde at fb.com>
Date: Tue, 14 Jan 2025 14:23:05 -0800
Subject: [PATCH 1/2] Add draft docstrings for SBSaveCoreOptions
---
.../interface/SBSaveCoreOptionsDocstrings.i | 72 +++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i b/lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
index e69de29bb2d1d6..44e7b672bd2989 100644
--- a/lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
+++ b/lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
@@ -0,0 +1,72 @@
+%feature("docstring",
+"A container for options to use when saving a core file.
+
+SBSaveCoreOptions includes API's to specify the memory regions and threads to include
+when generating a core file. These options are not exclusive the existing SaveCoreStyle option.
+
+Full will save off all thread and memory regions, ignoring the memory regions and threads in
+the options object.
+
+Dirty pages will capture all threads and all rw- memory regions, in addition to the regions specified
+in the options object if they are not already captured.
+
+Stacks will capture all threads, but no memory regions unless specified.
+
+Custom defers entirely to the SBSaveCoreOptions object and will only save what is specified.
+
+Picking custom and specifying nothing will result in an error being returned.
+
+Note that currently ELF Core files are not supported.
+")
+
+%feature("docstring", "
+ Set the plugin name to save a Core file with. Only plugins registered with Plugin manager will be accepted
+ Examples are Minidump and Mach-O."
+) lldb::SBSaveCoreOptions::SetPluginName
+
+%feature("docstring", "
+ Get the specified plugin name, or None if the name is not set."
+) lldb::SBSaveCoreOptions::GetPluginName
+
+%feature("docstring", "
+ Set the lldb.SaveCoreStyle."
+) lldb::SBSaveCoreOptions::SetStyle
+
+%feature("docstring", "
+ Get the specified lldb.SaveCoreStyle, or eSaveCoreUnspecified if not set."
+) lldb::SBSaveCoreOptions::GetStyle
+
+%feature("docstring", "
+ Set the file path to save the Core file at."
+) lldb::SBSaveCoreOptions::SetOutputFile
+
+%feature("docstring", "
+ Get an SBFileSpec corresponding to the specified output path, or none if not set."
+) lldb::SBSaveCoreOptions::GetOutputFile
+
+%feature("docstring", "
+ Set the process to save, or unset a process by providing a default SBProcess.
+ Resetting will result in the reset of all process specific options, such as Threads to save."
+) lldb::SBSaveCoreOptions::SetProcess
+
+%feature("docstring", "
+ Add an SBThread to be saved, an error will be returned if an SBThread from a different process is specified.
+ The process is set either by the first SBThread added to the options container, or explicitly by the SetProcess call."
+) lldb::SBSaveCoreOptions::AddThread
+
+%feature("docstring", "
+ Remove an SBthread if present in the container, returns true if a matching thread was found and removed."
+) lldb::SBSaveCoreOptions::RemoveThread
+
+%feature("docstring", "
+ Add a memory region to save, an error will be returned in the region is invalid.
+ Ranges that overlap will be unioned into a single region."
+) lldb::SBSaveCoreOptions::AddMemoryRegionToSave
+
+%feature("docstring", "
+ Get an SBThreadCollection of all threads marked to be saved. This collection is not sorted according to insertion order."
+) lldb::SBSaveCoreOptions::GetThreadsToSave
+
+%feature("docstring", "
+ Unset all options."
+) lldb::SBSaveCoreOptions::Clear
>From 5d3745b542ab6ff23e092476891141c9b03543b7 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde <jalalonde at fb.com>
Date: Thu, 16 Jan 2025 12:36:09 -0800
Subject: [PATCH 2/2] Rephrase some sentences, and convert the behavior for
each style into a bullet point list
---
.../interface/SBSaveCoreOptionsDocstrings.i | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i b/lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
index 44e7b672bd2989..3e99101203ee9c 100644
--- a/lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
+++ b/lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
@@ -1,20 +1,19 @@
%feature("docstring",
-"A container for options to use when saving a core file.
+"A container to specify how to save a core file.
SBSaveCoreOptions includes API's to specify the memory regions and threads to include
-when generating a core file. These options are not exclusive the existing SaveCoreStyle option.
+when generating a core file. It extends the existing SaveCoreStyle option.
-Full will save off all thread and memory regions, ignoring the memory regions and threads in
+* eSaveCoreFull will save off all thread and memory regions, ignoring the memory regions and threads in
the options object.
-Dirty pages will capture all threads and all rw- memory regions, in addition to the regions specified
+* eSaveCoreDirtyOnly pages will capture all threads and all rw- memory regions, in addition to the regions specified
in the options object if they are not already captured.
-Stacks will capture all threads, but no memory regions unless specified.
+* eSaveCoreStackOnly will capture all threads, but no memory regions unless specified.
-Custom defers entirely to the SBSaveCoreOptions object and will only save what is specified.
-
-Picking custom and specifying nothing will result in an error being returned.
+* eSaveCoreCustomOnly Custom defers entirely to the SBSaveCoreOptions object and will only save what is specified.
+ Picking custom and specifying nothing will result in an error being returned.
Note that currently ELF Core files are not supported.
")
More information about the lldb-commits
mailing list