jimingham wrote:

Remember, running code is NOT a risk free operation.

If I am stopped on a thread in code that has acquired a non-recursive lock A, 
and I run an expression by hand that ends up first successfully acquiring a 
lock B and then trying to acquire A, that expression will deadlock.  The only 
thing lldb can do is interrupt it and tear down the expression stack.  But that 
means that now lock B is permanently locked, nothing is ever going to release 
it, and your debug session is pretty much toast.

So it is a feature we should use judiciously, and the best way to ensure that 
is to always make it an explicitly user-directed action.

https://github.com/llvm/llvm-project/pull/146754
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to