clayborg added a comment.

In https://reviews.llvm.org/D50365#1241149, @lemo wrote:

> Hi Greg, looking at request_evaluate() I noticed that it will evaluate the 
> string as a lldb command if prefixed by ` .
>
> This is a great feature (it allows building REPL consoles on top of DAP), but 
> I'm curious how you picked up this convention? For example I believe that the 
> gdb DAP uses -exec 'command' instead.


` is an illegal expression character so it won't stop you from evaluating any 
possible expression. The gdb prefix "-exec" stops you from being able to negate 
a local variable named "exec". Not a huge deal.  So I just picked a good prefix 
character that wouldn't stop anyone from evaluating any valid expression (at 
least in C/C++/ObjC/Swift).

The solution I would love to see is to have the initialize packet return 
something via the DAP that says "I have a command line interpreter, please send 
a packet with a file handle (slave path to slave side of pseudo terminal 
maybe)". VS Code and Nuclide both emulated tty already, so we could have a true 
command line that exposes the "(gdb)" prompt for GDB and "(lldb)" for lldb and 
all the power that comes with it.

I needed something that could run LLDB commands when things go wrong to do 
trouble shooting (enable logging, run commands to dump vital information) so I 
hacked it in with `


Repository:
  rL LLVM

https://reviews.llvm.org/D50365



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to