[lldb-dev] How to use command regex in this situation?
    Greg Clayton via lldb-dev 
    lldb-dev at lists.llvm.org
       
    Mon May 16 14:31:29 PDT 2016
    
    
  
Regular expression commands are not multi-line commands. So your approach of doing:
(lldb) command regex jspatch 's/(.+)/p (id)[JPEngine evaluateScript:@"%1"]/'
won't work with:
jspatch 'var a = 10
var b = 20
a = a + b'
because this will get executed as:
(lldb) jspatch 'var a = 10
(lldb) var b = 20
(lldb) a = a + b'
You can run this as:
(lldb) jspatch 'var a = 10; var b = 20; a = a+b;'
Can't you? Or you might be able to put newlines in as escaped sequences:
(lldb) jspatch 'var a = 10\nvar b = 20\na = a+b'
The best thing you can probably do is write this as a python command. See http://lldb.llvm.org/python-reference.html in the section named "CREATE A NEW LLDB COMMAND USING A PYTHON FUNCTION". This will allow you to make a new command line command that calls into a python module and runs the code. You can use the builtin "raw_input" command to fetch as many lines as you need and then run the expression from python as needed.
> On May 12, 2016, at 4:04 AM, Karl Peng via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> 
> Actually I posted a question in stackoverflow?
> 
> Can any one  give me some suggestion?
> 
> Thanks
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
    
    
More information about the lldb-dev
mailing list