jingham added a comment.

The one scenario I can think of where this might do the wrong thing is:

1. Hit breakpoint location 1.1 on thread A
2. Switch to thread B
3. Run a function on thread B, has to only run on thread B and has to actually 
run code in the target, like:

  (lldb) expr -a 0 -- (int) printf("Hello\n")

The stop reason for thread A should still stay "breakpoint 1.1" and not "no 
reason".

This one is a little tricky because we have to run the target to execute the 
function, but if running the expression didn't cause other threads to run, we 
don't want to lose the program state when we stopped.

I looked for a test that ensures this result, and didn't find one, so I just 
added one: TestStateAfterExpression.py.  Can you make sure that your change 
still passes this test.  If it does, I can't think of anything else that might 
go wrong with this patch.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80112/new/

https://reviews.llvm.org/D80112



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

Reply via email to