<div dir="ltr">I'm looking at how the LLDB minidump reader creates the list of modules:<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><font face="monospace, monospace"><span style="white-space:pre;color:rgb(0,0,255)">void</span><span style="color:rgb(0,0,0);white-space:pre"> </span><span style="white-space:pre;color:rgb(121,94,38)">ProcessMinidump::ReadModuleList</span><span style="color:rgb(0,0,0);white-space:pre">() {</span></font><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:normal;line-height:18px;white-space:pre"><div><font face="monospace, monospace">...</font></div></div></blockquote><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:normal;line-height:18px;white-space:pre"><div><font face="monospace, monospace"><span style="color:rgb(0,0,0)">    </span><span style="color:rgb(0,0,255)">const</span><span style="color:rgb(0,0,0)"> </span><span style="color:rgb(0,0,255)">auto</span><span style="color:rgb(0,0,0)"> file_spec </span><span style="color:rgb(0,0,0)">=</span><span style="color:rgb(0,0,0)"> </span><span style="color:rgb(121,94,38)">FileSpec</span><span style="color:rgb(0,0,0)">(name.</span><span style="color:rgb(121,94,38)">getValue</span><span style="color:rgb(0,0,0)">(), </span><span style="color:rgb(0,0,255)">true</span><span style="color:rgb(0,0,0)">);</span></font></div></div></div><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:normal;line-height:18px;white-space:pre"><div><font face="monospace, monospace"><span style="color:rgb(0,0,0)">    ModuleSpec module_spec </span><span style="color:rgb(0,0,0)">=</span><span style="color:rgb(0,0,0)"> file_spec;</span></font></div></div></div><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:normal;line-height:18px;white-space:pre"><div><span style="color:rgb(0,0,0)"><font face="monospace, monospace">    Status error;</font></span></div></div></div><div><div style="color:rgb(0,0,0);font-weight:normal;line-height:18px;white-space:pre"><div style=""><font face="monospace, monospace" style=""><span style="color:rgb(0,0,0)"><span style="background-color:rgb(255,255,255)">    </span><span style="background-color:rgb(255,242,204)">lldb::ModuleSP module_sp </span></span><span style="background-color:rgb(255,242,204)"><span style="color:rgb(0,0,0)">=</span><span style="color:rgb(0,0,0)"> </span><span style="color:rgb(121,94,38)">GetTarget</span><span style="color:rgb(0,0,0)">().</span><span style="color:rgb(121,94,38)">GetSharedModule</span><span style="color:rgb(0,0,0)">(module_spec, </span><span style="color:rgb(0,0,0)">&</span><span style="color:rgb(0,0,0)">error);</span></span></font></div></div></div><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:normal;line-height:18px;white-space:pre"><div><font face="monospace, monospace"><span style="color:rgb(0,0,0)">    </span><span style="color:rgb(175,0,219)">if</span><span style="color:rgb(0,0,0)"> (</span><span style="color:rgb(0,0,0)">!</span><span style="color:rgb(0,0,0)">module_sp </span><span style="color:rgb(0,0,0)">||</span><span style="color:rgb(0,0,0)"> error.</span><span style="color:rgb(121,94,38)">Fail</span><span style="color:rgb(0,0,0)">()) {</span></font></div></div></div><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:normal;line-height:18px;white-space:pre"><div><font face="monospace, monospace"><span style="color:rgb(0,0,0)">      </span><span style="color:rgb(175,0,219)">continue</span><span style="color:rgb(0,0,0)">;</span></font></div></div></div><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:normal;line-height:18px;white-space:pre"><div><span style="color:rgb(0,0,0)"><font face="monospace, monospace">    }</font></span></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:normal;line-height:18px;white-space:pre"><div><span style="color:rgb(0,0,0)"><font face="monospace, monospace">...</font></span></div></div></div></blockquote><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:normal;line-height:18px;white-space:pre"><div style=""><font face="monospace, monospace">}</font></div></div></div></blockquote><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-family:"Droid Sans Mono",monospace,monospace,"Droid Sans Fallback";font-weight:normal;font-size:13px;line-height:18px;white-space:pre"><div></div></div></div><div><br></div><div>LLDB currently will insist on finding a local image for the module, which is usually not the case for postmortem debugging on machines different than the the the one where the minidump was created.</div><div><br></div><div>I don't see an obvious way to model modules which have no local image (which is still different than the remote scenario where there is a remote module image), am I missing anything?<br><br></div><div>Thanks!</div><div>Lemo.</div><div><br></div><div><br></div><div><br></div></div>