[Lldb-commits] [PATCH] D23290: Added enforce-interactivity setting

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Thu Aug 11 02:00:58 PDT 2016


labath added a subscriber: zturner.
labath added a comment.

I think I have understood the situation a bit more now, so let me try to explain what is going on.

In https://reviews.llvm.org/D23290#511683, @clayborg wrote:

> Is this something the user is typing in your IDE that you are forwarding to LLDB via pipes? Again, why are you using the command and not the API. There are API for everything you can do and no IDE should be doing code like:
>
> void MyDebugger::ClearAllBreakpoints()
>  {
>
>   m_debugger.HandleCommand("breakpoint delete");
>
> }
>
> Can you explain your use case here? If this is something the user is typing, then user PTY instead of pipes and all will be well. I know many functions in the lldb-mi are incorrectly implemented and they actually create and send LLDB commands using text and we need to fix this, so hopefully you aren't copying that code as a basis???


Yes, this is for commands that the user is typing by hand into the IDE, which has a tiny lldb console. All commands that are issued by IDE directly use the proper SB APIs. (The IDE is android studio BTW.)

I had also considered using PTYs, but as far as I can tell there is no equivalent of that on windows. (@zturner, do you have any more insight into that? Is it possible to fake a terminal on windows à la POSIX pseudo terminals?).

Greg, how does xcode achieve this? (I presume it has some form of an lldb console)


https://reviews.llvm.org/D23290





More information about the lldb-commits mailing list