Hello,

I have one question regarding the Native Protocol interface.
Actually if we want to write a "NativeProcess" plugin based on this new 
protocol, we lack register information required to build a "generic" 
RegisterContext.

Do you think we should add the following methods to the existing protocols, or 
have you an other suggestion about how to get the missing information ?

NativeProcessProtocol:
- size_t GetRegisterCount ();
- const RegisterInfo *GetRegisterInfoAtIndex (size_t reg);
- size_t GetRegisterSetCount ();
- const RegisterSet *GetRegisterSet (size_t reg_set);
- uint32_t ConvertRegisterKindToRegisterNumber (uint32_t kind, uint32_t num)
- uint32_t NumSupportedHardwareBreakpoints ();

NativeThreadProtocol:
- InvalidateAllRegisters ()
- bool HardwareSingleStep (bool enable)


Le 2 déc. 2013 à 20:08, Greg Clayton <[email protected]> a écrit :

> Gotcha. Yes, then on MacOSX, we would be using MachProcess, MachTask, and a 
> bunch of other classes used in debugserver. We will want to remove any custom 
> events that are used in debugserver and replace them with lldb_private::Event 
> objects and use lldb_private::Listener and lldb_private::Broadcaster.
> 
> It might be worth making a copy of MachProcess, MachTask and any other 
> classes from debugserver as they get used in LLDB itself so we can pull out 
> old code that is no longer needed as eventually we will cut over to using 
> these classes in LLDB with all of the LLDB defines and structures as the code 
> will be quite different than the other defines and structures that are 
> currently in debugserver.
> 
> Let me know if you need any help with any of that.
> 
> Greg
> 
> On Dec 2, 2013, at 10:59 AM, Jean-Daniel Dupas <[email protected]> wrote:
> 
>> Actually, I'm developing on OS X, and I have a far greater knowledge of the 
>> OS X internals than the linux one, so I'd rather work on a Mach process 
>> (based on the existing debugserver)
>> 
>> But anyway, I think there is a lot of work that is platform independent, as 
>> the dependents parts are already in the existing Processes plugins.
>> 
>> Once we got a first implementation, porting the OS specifics parts from the 
>> existing code should be straightforward.
>> 
>> 
>> Le 2 déc. 2013 à 17:48, Greg Clayton <[email protected]> a écrit :
>> 
>>> None to my currently knowledge.
>>> 
>>> It would be great if you can implement a linux version (I am assuming you 
>>> want linux support right?) of NativeProcessProtocol and 
>>> NativeThreadProtocol.
>>> 
>>> They should be backed by the following files:
>>> 
>>> trunk/source/Plugins/Process/Linux/ProcessMonitor.cpp
>>> trunk/source/Plugins/Process/POSIX/*.*
>>> 
>>> Then we can start to implement the remote debugging in 
>>> GDBRemoteCommunicationClient.
>>> 
>>> Let me know if you need any help.
>>> 
>>> Greg
>>> 
>>> On Nov 28, 2013, at 3:48 AM, Jean-Daniel Dupas <[email protected]> wrote:
>>> 
>>>> Hello,
>>>> 
>>>> I'm interested in working on the lldb-gdbserver tool. 
>>>> 
>>>> I'd like to know if there is already someone working on it ? It would not 
>>>> be very effective to duplicate the efforts.
>>>> 
>>>> 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

-- Jean-Daniel





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

Reply via email to