Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] LLDB/Clang

On 11/06/2013 06:43 PM, Eugene Ostroukhov wrote:
LLDB uses SWiG to generate Python bindings. I have no experience with
SWiG, but apparently it can generate JNI bindings as well.

One thing I am looking at is having custom protocol between debugger and
fronted - e.g. instead of stream-based MI protocol in GDB it is possible
to have standalone LLDB process (currently it can be written in C++ or
Python) that communicates with the fronted via pipes (e.g. Google
protobuf) and memory maps. Controlling both sides of the communication
channel (unlike DSF-GDB) decreases number of messages and allows to
heavily optimize the exchanges.

We have our own DSF-based debugger which uses protobuf to communicate with an external process over a local socket, and my experience from benchmarking the communication is that the communication pipe design (local socket vs. pipe, protobuf vs. yaml, etc.) is not worth "heavy optimization". Any bottlenecks will either be on the Eclipse side (UI-related) or on the debugger side (reading symbols, communicating with hardware, etc).

Of course, controlling both ends of the communication will allow you to design the message protocol to avoid things like unecessary message roundtrips.

--
*Jesper Eskilson* /Development Engineer/
IAR Systems AB
Box 23051, Strandbodgatan 1
SE-750 23 Uppsala, SWEDEN
E-mail: jesper.eskilson@xxxxxxx <mailto:jesper.eskilson@xxxxxxx>
Website: www.iar.com
<http://www.iar.com> Twitter: www.twitter.com/iarsystems
<http://www.twitter.com/iarsystems>


Back to the top