mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-29 22:26:06 +00:00

This was just a typo, none of the external execution control functions should discard other plans. In particular, it means if you stop in a hand-called function and step an instruction, the function call thread plan gets unshipped, popping all the function call frames. I also added a test that asserts the correct behavior. I tested all the stepping operations even though only StepInstruction was wrong.
29 lines
628 B
C++
29 lines
628 B
C++
#include <stdio.h>
|
|
|
|
// This simple program is to test the lldb Python API related to thread.
|
|
|
|
char my_char = 'u';
|
|
int my_int = 0;
|
|
|
|
void
|
|
call_me(bool should_spin) {
|
|
int counter = 0;
|
|
if (should_spin) {
|
|
while (1)
|
|
counter++; // Set a breakpoint in call_me
|
|
}
|
|
}
|
|
|
|
int main (int argc, char const *argv[])
|
|
{
|
|
call_me(false);
|
|
for (int i = 0; i < 3; ++i) {
|
|
printf("my_char='%c'\n", my_char);
|
|
++my_char;
|
|
}
|
|
|
|
printf("after the loop: my_char='%c'\n", my_char); // 'my_char' should print out as 'x'.
|
|
|
|
return 0; // Set break point at this line and check variable 'my_char'.
|
|
}
|