diff options
author | Med Ismail Bennani <ismail@bennani.ma> | 2023-05-21 00:55:50 -0700 |
---|---|---|
committer | Med Ismail Bennani <ismail@bennani.ma> | 2023-05-22 16:14:00 -0700 |
commit | 8f407b8e632956816e49d1ac0ffd6ff5245252a6 (patch) | |
tree | 67bf20e9204f29ce1dbbf16622e770cd49516591 /lldb | |
parent | ac09a0e192e357a37d183f26f1063d18d6babf72 (diff) | |
download | llvm-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')
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( |