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
