charles-zablit wrote:

The latest revision of this patch addresses all the issues from before:

With @Nerixyz 's program:
```cpp
#include <iostream>

int main() {
    std::cout << "hello world" << std::endl;
    std::string s;
    std::cin >> s;
    return 0;
}
```

And running

```
b main
r
# *breakpoint hit*
b test.cpp:7 # at return 0;
c
# this should not show the lldb prompt until the breakpoint is hit
# *breakpoint hit*
c
```

This now works.

For comparison, in the `21.x` release, `hello world` is not displayed and 
`stdin` does not work either.

## Limitation

There is one limitation with the current solution: running the target flushes 
the screen. Running the `run` command causes the whole screen to be flushed. 
This is because the ConPTY forwards some ANSI VT sequences like the name of the 
console and flushing the screen (`\x1b[2J`).  The 
`PSEUDOCONSOLE_INHERIT_CURSOR` is supposed to fix this but it causes a hang, 
probably related to our use of a named as the ConPTY input.

https://github.com/llvm/llvm-project/pull/175812
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to