aboutsummaryrefslogtreecommitdiff
path: root/lldb
diff options
context:
space:
mode:
authorMed Ismail Bennani <ismail@bennani.ma>2023-05-21 00:55:50 -0700
committerMed Ismail Bennani <ismail@bennani.ma>2023-05-22 16:14:00 -0700
commit8f407b8e632956816e49d1ac0ffd6ff5245252a6 (patch)
tree67bf20e9204f29ce1dbbf16622e770cd49516591 /lldb
parentac09a0e192e357a37d183f26f1063d18d6babf72 (diff)
downloadllvm-8f407b8e632956816e49d1ac0ffd6ff5245252a6.zip
llvm-8f407b8e632956816e49d1ac0ffd6ff5245252a6.tar.gz
llvm-8f407b8e632956816e49d1ac0ffd6ff5245252a6.tar.bz2
[lldb] Add "Trace" stop reason in Scripted Thread
This patch adds support to eStopReasonTrace to Scripted Threads. This is necessary when using a Scrited Process with a Scripted Thread Plan to report a special thread stop reason to the thread plan. rdar://109425542 Differential Revision: https://reviews.llvm.org/D151043 Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
Diffstat (limited to 'lldb')
-rw-r--r--lldb/source/Plugins/Process/scripted/ScriptedThread.cpp3
-rw-r--r--lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py2
-rw-r--r--lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py4
3 files changed, 5 insertions, 4 deletions
diff --git a/lldb/source/Plugins/Process/scripted/ScriptedThread.cpp b/lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
index 2c1516f..ac707ff 100644
--- a/lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
+++ b/lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
@@ -258,6 +258,9 @@ bool ScriptedThread::CalculateStopInfo() {
stop_info_sp =
StopInfo::CreateStopReasonWithSignal(*this, signal, description.data());
} break;
+ case lldb::eStopReasonTrace: {
+ stop_info_sp = StopInfo::CreateStopReasonToTrace(*this);
+ } break;
case lldb::eStopReasonException: {
#if defined(__APPLE__)
StructuredData::Dictionary *mach_exception;
diff --git a/lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py b/lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
index b5a14a9..8cbd76a 100644
--- a/lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
+++ b/lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
@@ -186,7 +186,7 @@ class ScriptedProcesTestCase(TestBase):
self.assertTrue(thread, "Invalid thread.")
self.assertEqual(thread.GetThreadID(), 0x19)
self.assertEqual(thread.GetName(), "DummyScriptedThread.thread-1")
- self.assertStopReason(thread.GetStopReason(), lldb.eStopReasonSignal)
+ self.assertStopReason(thread.GetStopReason(), lldb.eStopReasonTrace)
self.assertGreater(thread.GetNumFrames(), 0)
diff --git a/lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py b/lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
index 3f6ce6c..f2b385f 100644
--- a/lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
+++ b/lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
@@ -67,9 +67,7 @@ class DummyScriptedThread(ScriptedThread):
return lldb.eStateStopped
def get_stop_reason(self) -> Dict[str, Any]:
- return { "type": lldb.eStopReasonSignal, "data": {
- "signal": signal.SIGINT
- } }
+ return { "type": lldb.eStopReasonTrace, "data": {} }
def get_register_context(self) -> str:
return struct.pack(