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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits