[Lldb-commits] [lldb] [lldb] Introduce ScriptedFrameProvider for real threads (PR #161870)
Med Ismail Bennani via lldb-commits
lldb-commits at lists.llvm.org
Fri Nov 7 13:58:34 PST 2025
================
@@ -986,6 +986,34 @@ class LLDB_API SBTarget {
lldb::SBMutex GetAPIMutex() const;
+ /// Register a scripted frame provider for this target.
+ ///
+ /// \param[in] class_name
+ /// The name of the Python class that implements the frame provider.
+ ///
+ /// \param[in] args_dict
+ /// A dictionary of arguments to pass to the frame provider class.
+ ///
+ /// \return
+ /// An error object indicating success or failure.
+ lldb::SBError RegisterScriptedFrameProvider(const char *class_name,
+ lldb::SBStructuredData args_dict);
+
+ /// Remove a scripted frame provider from this target by name.
+ ///
+ /// \param[in] provider_name
+ /// The name of the frame provider class to remove.
+ ///
+ /// \return
+ /// An error object indicating success or failure.
+ lldb::SBError RemoveScriptedFrameProvider(const char *provider_name);
+
+ /// Clear the scripted frame provider for this target.
----------------
medismailben wrote:
See https://github.com/llvm/llvm-project/pull/161870#discussion_r2482534752
Currently the target can have multiple scripted frame provider descriptor however the threads can only have 1 provider at a time. I'm planning on being able to chain providers (both internal plugins & scripted implementations) in a follow-up. I actually think this API should be called `RemoveSyntheticFrameProvider` not `Scripted` because the user might want to disable an lldb internal frame provider.
https://github.com/llvm/llvm-project/pull/161870
More information about the lldb-commits
mailing list