aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
diff options
context:
space:
mode:
authorMed Ismail Bennani <medismail.bennani@gmail.com>2022-02-16 11:43:44 -0800
committerMed Ismail Bennani <medismail.bennani@gmail.com>2022-02-16 11:44:07 -0800
commit7c54ffdc6c2e55565344a8d6200f63ee016891a9 (patch)
tree680730c958d2e70a3503b6f7c8e5f0e8c1c87fba /lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
parent7f3fc2eee8ff13f6922a16331870fc57cd022773 (diff)
downloadllvm-7c54ffdc6c2e55565344a8d6200f63ee016891a9.zip
llvm-7c54ffdc6c2e55565344a8d6200f63ee016891a9.tar.gz
llvm-7c54ffdc6c2e55565344a8d6200f63ee016891a9.tar.bz2
[lldb/crashlog] Add CrashLogScriptedProcess & remove interactive mode
This patch introduces a new type of ScriptedProcess: CrashLogScriptedProcess. It takes advantage of lldb's crashlog parsers and Scripted Processes to reconstruct a static debugging session with symbolicated stackframes, instead of just dumping out everything in the user's terminal. The crashlog command also has an interactive mode that only provide a very limited experience. This is why this patch removes all the logic for this interactive mode and creates CrashLogScriptedProcess instead. This will fetch and load all the libraries that were used by the crashed thread and re-create all the frames artificially. rdar://88721117 Differential Revision: https://reviews.llvm.org/D119501 Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp')
-rw-r--r--lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp b/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
index 1abf0f14..96ae305f8 100644
--- a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
+++ b/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
@@ -303,6 +303,9 @@ bool ScriptedProcess::DoUpdateThreadList(ThreadList &old_thread_list,
StructuredData::DictionarySP thread_info_sp = GetInterface().GetThreadsInfo();
+ // FIXME: Need to sort the dictionary otherwise the thread ids won't match the
+ // thread indices.
+
if (!thread_info_sp)
return ScriptedInterface::ErrorWithMessage<bool>(
LLVM_PRETTY_FUNCTION,