Hey Enrico,

After looking at the API a bit more closely I guess that's a decent option 
since most of the console functionality is handled in SDCommandInterpreter. I 
was just hoping to not need to put anything in front of the LLDB console or 
replace it - but replacing it doesn't seem as annoying as I thought it would. 
I'll give that a try.

Thanks

On 02/09/2011, at 1:53 AM, Enrico Granata wrote:

> Hi,
> 
> I may be missing your point here, but I guess the easiest way would be for 
> you to create an LLDB SBDebugger instance, and use its SBCommandInterpreter 
> to send commands and read replies. Then, you can parse the command output for 
> each thing you send, and use the parsed information to generate your visuals.
> 
> If you are particularly adventurous you could even create a Python class with 
> method calls like SetBreakpoint, Step, ... and have these methods send the 
> right commands and return you correctly parsed output.
> 
> Of course, if anything in the way LLDB displays data changes, your parser 
> would have to change along with it. But, for a cheap way out, this one seems 
> pretty reasonable.
> 
> Sincerely,
> Enrico Granata
> ✆ 408.974.5572 | ✉ egranata@.com
> 
> 
> 
> 
> On Aug 31, 2011, at 9:13 PM, [email protected] wrote:
> 
>> I didn't really explain that particularly well - I figured I would have 
>> external python scripts that draw the UI for other windows using ncurses and 
>> connect to some comms channel opened by whatever is running within LLDB's 
>> python interpreter. These external scripts would be consumers of data pushed 
>> out by that internal script and render that data (disassembly around current 
>> EIP/RIP, stack data, etc). Really I should just implement a full new front 
>> end but I will never get around to it and just want a cheap way out.
>> 
>> Egon
>> 
>> On 01/09/2011, at 2:04 PM, [email protected] wrote:
>> 
>>> Hi,
>>> 
>>> I want to implement some additional interfaces on top of LLDB using python 
>>> and I was hoping someone might be able to tell me how feasible it would be 
>>> to do just using LLDB's embedded python interpreter.
>>> 
>>> I would like to run a regular LLDB session in one terminal and display 
>>> register contents, disassembly and stack contents in other windows to 
>>> somewhat mimic the displays of debuggers like Immunity or OllyDbg on 
>>> Windows. I'd prefer to not have to implement a full new front end for LLDB 
>>> as this is just intended to be complementary to the standard console 
>>> interface to LLDB. I think I would need to be able to register handlers to 
>>> be called on breakpoints (this looks quite easy from the documentation), 
>>> but also handlers to be called after stepping over an instruction (to 
>>> update the selected line in the disassembly, update register contents 
>>> display, etc).
>>> 
>>> Does this sound like something that could be easily implemented using the 
>>> embedded python scripting? I have had a look at the documentation but I 
>>> can't see anything that help with this. I'm open to other suggestions :)
>>> 
>>> Thanks
>>> _______________________________________________
>>> lldb-dev mailing list
>>> [email protected]
>>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>> 
>> 
>> _______________________________________________
>> lldb-dev mailing list
>> [email protected]
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> 

_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to