mib created this revision. mib added a reviewer: jingham. mib added a project: LLDB. Herald added a subscriber: JDevlieghere. Herald added a project: All. mib requested review of this revision. Herald added a subscriber: lldb-commits.
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 Signed-off-by: Med Ismail Bennani <ism...@bennani.ma> Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D151043 Files: 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 Index: lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py =================================================================== --- lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py +++ lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py @@ -67,9 +67,7 @@ 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( Index: lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py =================================================================== --- lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py +++ lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py @@ -186,7 +186,7 @@ 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) Index: lldb/source/Plugins/Process/scripted/ScriptedThread.cpp =================================================================== --- lldb/source/Plugins/Process/scripted/ScriptedThread.cpp +++ lldb/source/Plugins/Process/scripted/ScriptedThread.cpp @@ -258,6 +258,9 @@ 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;
Index: lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py =================================================================== --- lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py +++ lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py @@ -67,9 +67,7 @@ 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( Index: lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py =================================================================== --- lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py +++ lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py @@ -186,7 +186,7 @@ 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) Index: lldb/source/Plugins/Process/scripted/ScriptedThread.cpp =================================================================== --- lldb/source/Plugins/Process/scripted/ScriptedThread.cpp +++ lldb/source/Plugins/Process/scripted/ScriptedThread.cpp @@ -258,6 +258,9 @@ 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;
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits