xiaobai added a comment.

In https://reviews.llvm.org/D39307#907301, @jingham wrote:

> So one of the expectations of people using the debugger is that their whole 
> program is available to them wherever they happen to be stopped.  People get 
> really upset when we break that fiction.  I've experienced this both in Radar 
> and in person...  But in this case, it seems like a reasonable expectation:
>
> Imagine the debugging scenario where I had stepped into my library, run my 
> debugging function, stepped out to the client and what got returned didn't 
> make sense with the output of the debugging function.  So I want to run it 
> again to see what happened.  I certainly don't want to have to navigate back 
> to my library to do that, I don't want the program to change state at all and 
> there may be no functions of my library still on the stack somewhere.
>
> I think if you make me say:
>
>   (lldb) expr --pretend-module MyLib.dyld -- my_library_singleton->WFTDude()
>  
>
>
> you will not make me happy.  lldb should not force users to disambiguate 
> things that are not ambiguous.  If there were multiple visible 
> my_library_singleton symbols floating around, that would be my fault for 
> choosing a bad name, and as the debugger user I wouldn't feel too bad about 
> having to do something to disambiguate.  But if it isn't lldb shouldn't make 
> me have to do more work to specify it.


I think that the problem here is that lldb is disambiguating and grabbing 
internal symbols from libraries I don't want it to. It seems like clang 
shouldn't even be asking us about this in the first place, but I don't fully 
understand why it's trying to do what it's trying to do. Perhaps somebody with 
more understanding of what clang should be doing can shine some light?


https://reviews.llvm.org/D39307



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

Reply via email to