[Lldb-commits] [PATCH] D141702: [lldb/crashlog] Make module loading use Scripted Process affordance
Alex Langford via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Jan 13 11:46:01 PST 2023
bulbazord added a comment.
I'm somewhat unfamiliar with this code so I'll ask some clarifying questions. I think I understand the idea in general though.
================
Comment at: lldb/examples/python/scripted_process/crashlog_scripted_process.py:34-37
+ for section in image.section_infos:
+ if section.start_addr and section.name == "__TEXT":
+ self.loaded_images.append({"uuid": str(image.uuid),
+ "load_addr": section.start_addr})
----------------
I don't understand the intent of this part. It looks like you're changing the format of `self.loaded_images` here. It's still a List, but instead of containing images it contains specific information about specific sections of each image. If the format has changed, don't consumers of `get_loaded_images` need to be modified as well?
================
Comment at: lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp:452-458
+ Status error;
+ Symbols::DownloadObjectAndSymbolFile(module_spec, error, true);
+ if (error.Fail() ||
+ !FileSystem::Instance().Exists(module_spec.GetFileSpec())) {
+ return error_with_message(error.AsCString());
+ }
+
----------------
Shouldn't you be using the result of `Symbols::DownloadObjectAndSymbolFile` here? I've read through the implementation of `DownloadObjectAndSymbolFile` and here's what I've surmised:
- The non-Darwin implementation of `DownloadObjectAndSymbolFile` simply returns false, so `error` won't be populated.
- The Darwin implementation fills in `error` only as a result of invoking `dsymForUUID` and subsequent processing of the result. It's entirely possible for the function to return false before `dsymForUUID` is invoked or without any useful information in `error`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D141702/new/
https://reviews.llvm.org/D141702
More information about the lldb-commits
mailing list