aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
diff options
context:
space:
mode:
authorMed Ismail Bennani <medismail.bennani@gmail.com>2022-01-18 12:44:48 +0100
committerMed Ismail Bennani <medismail.bennani@gmail.com>2022-01-24 20:25:53 +0100
commit4858fe04a1571e78ff97b778c0fb6a46855c3d6a (patch)
treee154873e411bd13ce9b808283a54ab7b7359ea42 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
parentc27f8fb96882ee8c684d03068836cf610d4f0640 (diff)
downloadllvm-4858fe04a1571e78ff97b778c0fb6a46855c3d6a.zip
llvm-4858fe04a1571e78ff97b778c0fb6a46855c3d6a.tar.gz
llvm-4858fe04a1571e78ff97b778c0fb6a46855c3d6a.tar.bz2
[lldb/Plugins] Add ScriptedProcess::GetThreadsInfo interface
This patch adds a new method to the Scripted Process interface to retrive a dictionary of Scripted Threads. It uses the thread ID as a key and the Scripted Thread instance as the value. This dictionary will be used to create Scripted Threads in lldb and perform calls to the python scripted thread object. rdar://87427126 Differential Revision: https://reviews.llvm.org/D117068 Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp')
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
index da8ff42..447bcee 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
@@ -92,6 +92,17 @@ ScriptedProcessPythonInterface::GetMemoryRegionContainingAddress(
return mem_region;
}
+StructuredData::DictionarySP ScriptedProcessPythonInterface::GetThreadsInfo() {
+ Status error;
+ StructuredData::DictionarySP dict =
+ Dispatch<StructuredData::DictionarySP>("get_threads_info", error);
+
+ if (!CheckStructuredDataObject(LLVM_PRETTY_FUNCTION, dict, error))
+ return {};
+
+ return dict;
+}
+
StructuredData::DictionarySP
ScriptedProcessPythonInterface::GetThreadWithID(lldb::tid_t tid) {
Status error;