amccarth added a comment.

I have reservations about making the debugger try to pre-locate the modules and 
their PDBs before those modules are actually loaded.  For a few reasons.

(1) On Windows, module resolution is complex.  Search paths, the safe search 
path, manifests, the side-by-side cache, dynamic library link redirection 
(.exe.local), Windows API sets, etc.  It got to the point that Microsoft 
dropped support for the venerable DependencyWalker tool (though there is an 
open source community trying to keep it alive).  That's a lot of logic to bake 
into the debugger (and to create tests for), and the cost of getting it wrong 
is that we think your breakpoint will resolve when actually it won't.

(2) A typical program depends directly and indirectly on many DLLs.  Even with 
lazy-evaluation, trying to apply all the rules in 1 (which must be done 
serially) to locate all of the dependents seems like a lot of unnecessary work 
on startup.

(3) It's different than how all the debuggers on Windows work, which might be 
mildly surprising to users.

If there's a strong will to head down this path, I think that'll be a separate 
effort than my getting this test working again in the short term.  So I think 
I'll do something less invasive along the lines of Pavel's suggestion to get 
this test working.  Stay tuned.


https://reviews.llvm.org/D43419



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to