You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In LLDB, we've been moving towards using the ConPTY to show the output of processes inline instead of a new console window:
> lldb demo.exe...(lldb) rHello World^ would show in a new console window beforeProcess 1337 exited with status = 0 (0x00000000)
When starting the process and reading from the PTY, we always get the VT init-sequence that clears the screen and sets the window title (from the EchoCon example):
"\u{1b}[?9001h\u{1b}[?1004h"
"\u{1b}[?25l\u{1b}[2J\u{1b}[m\u{1b}[H\u{1b}]0;C:\\WINDOWS\\SYSTEM32\\ping.exe\u{7}\u{1b}[?25h"
"\r\nPinging
....(some output)....
Average = 0ms\r\n\u{1b}[?25h"
"\u{1b}[?9001l\u{1b}[?1004l"
\u{1b}[?9001h: enable win32-input-mode
\u{1b}[?1004h: send Focus In/Out events
\u{1b}[?25l: hide cursor
\u{1b}[2J: selective erase all
\u{1b}[m: set default character attributes (VT100)
\u{1b}[H: set cursor to (1,1)
\u{1b}]0;C:\\WINDOWS\\SYSTEM32\\ping.exe\u{7}: set window title
\u{1b}[?25h: show cursor
output...
\u{1b}[?9001l: disable win32-input-mode
\u{1b}[?1004h: don't send Focus In/Out events
For LLDB, we'd like to avoid parts of the init sequence - we want to show the output of the process directly after the (lldb) r prompt. Our current solution is to filter out the sequence when starting the process.
If LLDB does not strip the init sequence, after the user runs the debuggee (r command), this is what the console window looks like:
Before running
(lldb) r
After running
Hello World
Process 1337 exited with status = 0 (0x00000000)
The (lldb) r prompt is overwritten.
Running the debuggee should not clear the screen, instead the screen should look like this:
Before running
(lldb) r
After running
(lldb) r
Hello World
Process 1337 exited with status = 0 (0x00000000)
Would it be possible to tell the pseudo-console API which parts we'd like to get or to omit some parts?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
In LLDB, we've been moving towards using the ConPTY to show the output of processes inline instead of a new console window:
When starting the process and reading from the PTY, we always get the VT init-sequence that clears the screen and sets the window title (from the
EchoConexample):\u{1b}[?9001h: enable win32-input-mode\u{1b}[?1004h: send Focus In/Out events\u{1b}[?25l: hide cursor\u{1b}[2J: selective erase all\u{1b}[m: set default character attributes (VT100)\u{1b}[H: set cursor to (1,1)\u{1b}]0;C:\\WINDOWS\\SYSTEM32\\ping.exe\u{7}: set window title\u{1b}[?25h: show cursor\u{1b}[?9001l: disable win32-input-mode\u{1b}[?1004h: don't send Focus In/Out eventsFor LLDB, we'd like to avoid parts of the init sequence - we want to show the output of the process directly after the
(lldb) rprompt. Our current solution is to filter out the sequence when starting the process.If LLDB does not strip the init sequence, after the user runs the debuggee (
rcommand), this is what the console window looks like:Before running
After running
The
(lldb) rprompt is overwritten.Running the debuggee should not clear the screen, instead the screen should look like this:
Before running
After running
Would it be possible to tell the pseudo-console API which parts we'd like to get or to omit some parts?
Beta Was this translation helpful? Give feedback.
All reactions