Author: Med Ismail Bennani Date: 2023-05-22T16:14:00-07:00 New Revision: 8f407b8e632956816e49d1ac0ffd6ff5245252a6
URL: https://github.com/llvm/llvm-project/commit/8f407b8e632956816e49d1ac0ffd6ff5245252a6 DIFF: https://github.com/llvm/llvm-project/commit/8f407b8e632956816e49d1ac0ffd6ff5245252a6.diff LOG: [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 <ism...@bennani.ma> Added: Modified: lldb/source/Plugins/Process/scripted/ScriptedThread.cpp lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py Removed: ################################################################################ diff --git a/lldb/source/Plugins/Process/scripted/ScriptedThread.cpp b/lldb/source/Plugins/Process/scripted/ScriptedThread.cpp index 2c1516f3085e9..ac707ffb21711 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 b5a14a9cd63de..8cbd76a85396b 100644 --- a/lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py +++ b/lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py @@ -186,7 +186,7 @@ def cleanup(): 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 3f6ce6c1f9feb..f2b385fb84abe 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 @@ def get_state(self) -> int: 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( _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits