[lldb-dev] How do you call complex methods from python?

Greg Clayton gclayton at apple.com
Tue Oct 7 17:18:46 PDT 2014


I believe there is some argument remapping magic that happens in the swig layer. Check the test suite for how memory reads and writes work. The read/write will work the same way.


> On Oct 2, 2014, at 6:00 PM, Zachary Turner <zturner at google.com> wrote:
> 
> When public methods take complex arguments like char*'s that get written into, parameters passed by reference, etc, how do we know what syntax to call them with from Python?
> 
> For example, consider this method:
> 
> size_t
> SBCommunication::Read (void *dst, size_t dst_len, uint32_t timeout_usec, ConnectionStatus &status)
> 
> The first argument is a buffer that gets written to.  The last argument is a ConnectionStatus that gets passed by reference.  In lldb, I'm doing the following:
> 
> >>> comm = lldb.SBCommunication("test")
> >>> comm.Connect("file://d:\\file1.cpp")
> >>> comm.Read(?????)
> 
> How do I write this so that it works?
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev




More information about the lldb-dev mailing list