Current state in scripted process expects [all the modules](912b154f3a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp (L498)) passed into "get_loaded_images" to load successfully else none of them load. Even if a module loads fine, [but has already been appended](912b154f3a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp (L495)) it still fails. This is restrictive and does not help our usecase. **Usecase**: We have a parent scripted process using coredump + tombstone. 1) Scripted process uses child elf-core process to read memory dump 2) Uses tombstones to pass thread names and modules. We do not know whether the modules will be successfully downloaded before creating the scripted process. We use [python module callbacks](a57e58dbfa/lldb/source/Target/Platform.cpp (L1593)) to download a module from symbol server at LLDB load time when the scripted process is being created. The issue is that if one of the symbol is not found from the list specified in tombstone, none of the modules load in scripted process. Even if we ensure symbols are present in symbol server before creating the scripted process, if the load address is wrong or if the module is already appended, all module loads are skipped. **Solution**: Pass in a custom boolean option arg for every module from python scripted process plugin which will indicate whether to ignore the module load error. This will provide the flexibility to user for loading the successfully fetched modules into target while ignoring the failed ones --------- Co-authored-by: rchamala <rachamal@fb.com>
19 KiB
19 KiB