Re: [Mono-dev] Mono Debugger Patch that allows Remote Debugging
On Mon, 2008-04-07 at 09:30 +0200, Harald Krapfenbauer wrote: > I understand all of the problems you have with integrating the patch. It > is partly a hack (though it works of course), and I wonder if all of > these problems can be solved so that integration would be possible. > > Would you be willing to work on it together with me? I'm currently busy > with other stuff, and I don't know when I can spend time on the debugger > again. Hello Harald, sure I can help you with this, but I hope that doesn't mean that I have to write and maintain all the code. I can help you find a solution for the bfd problem and also do some minor API changes in the backend like adding more stuff to the vtable, but please understand that I can't spend too much time on this. Remote debugging surely is a really cool feature, but it's not a top priority for our users. Martin -- Martin Baulig - [EMAIL PROTECTED] Novell GmbH, Düsseldorf GF: Volker Smid, Djamel Souici; HRB 21108 (AG Düsseldorf) ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Mono Debugger Patch that allows Remote Debugging
Hello Martin, I understand all of the problems you have with integrating the patch. It is partly a hack (though it works of course), and I wonder if all of these problems can be solved so that integration would be possible. Would you be willing to work on it together with me? I'm currently busy with other stuff, and I don't know when I can spend time on the debugger again. Best regards, Harald Martin Baulig wrote: > Hello Harald, > > I had a look at your remote debugging patch and unfortunately, I have > some bigger problems with it. There are basically three major issues > which need to be resolved before I can integrate this into the main > debugger release. > > I.) Libbfd > > I don't like modifying the libbfd which is shipped with the debugger > very much. This makes it very complicated to upgrade the bfd to a newer > version in future. > > I've already been asked about upgrading libbfd because this may become > necessary if we add ppc support. Because of that, it's important to > keep the bfd changes to an absolute minimum. It should also be easy for > other people (not just me) to replace the bfd, for instance if someone > wants to implement support for a new architecture. > > One solution for this is probably adding wrappers for each of the > functions into backend/arch/bfdglue.c and do the changes there. > > II.) The if conditionals > > I'm not very happy about the fact that you basically put all of > backend/server/*.c inside `if' conditionals. > > Most of these functions are already invoked via the `InferiorVTable', so > I'd prefer if we could put all the remote debugging functions into a > separate file and then simply replace the vtable when remote debugging. > > If you need to invoke any methods which aren't in that vtable, we can > simply add them. > > III.) Using arch-specific code in x86-linux-ptrace.c > > You can't use any architecture specific code in x86-linux-ptrace.c, like > accessing fields inside the `INFERIOR_REGS_TYPE'. > > This file is shared between i386 and x86_64, so `regs->ebx' won't even > compile on the x86_64. > > These are the major issues, there are also a few minor cosmetic ones: > > * Please don't use a global variable `remove_debugging_flag', put it > inside the `ServerHande' instead. > > * Please don't copy the private struct `InferiorHandle' from one .c file > into another; we can either put it into a header file or add public > accessor functions. > > * Do we really need to add the breakpoint code to thread-db.c ? > > I would really like to integrate this into the main debugger, but please > understand that I also need to ensure long-term maintainability and code > cleanness. > > Martin > > -- > Martin Baulig - [EMAIL PROTECTED] > Novell GmbH, Düsseldorf > GF: Volker Smid, Djamel Souici; HRB 21108 (AG Düsseldorf) > > > -- Harald Krapfenbauer Project assistant Vienna University of Technology, Institute of Computer Technology Gusshausstraße 27-29, 1040 Vienna, Austria Phone: +43-1-58801-38472, Fax: +43-1-58801-38499 Email: [EMAIL PROTECTED], WWW: http://www.ict.tuwien.ac.at Skype: harald.krapfenbauer ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Mono Debugger Patch that allows Remote Debugging
Hello Harald, I had a look at your remote debugging patch and unfortunately, I have some bigger problems with it. There are basically three major issues which need to be resolved before I can integrate this into the main debugger release. I.) Libbfd I don't like modifying the libbfd which is shipped with the debugger very much. This makes it very complicated to upgrade the bfd to a newer version in future. I've already been asked about upgrading libbfd because this may become necessary if we add ppc support. Because of that, it's important to keep the bfd changes to an absolute minimum. It should also be easy for other people (not just me) to replace the bfd, for instance if someone wants to implement support for a new architecture. One solution for this is probably adding wrappers for each of the functions into backend/arch/bfdglue.c and do the changes there. II.) The if conditionals I'm not very happy about the fact that you basically put all of backend/server/*.c inside `if' conditionals. Most of these functions are already invoked via the `InferiorVTable', so I'd prefer if we could put all the remote debugging functions into a separate file and then simply replace the vtable when remote debugging. If you need to invoke any methods which aren't in that vtable, we can simply add them. III.) Using arch-specific code in x86-linux-ptrace.c You can't use any architecture specific code in x86-linux-ptrace.c, like accessing fields inside the `INFERIOR_REGS_TYPE'. This file is shared between i386 and x86_64, so `regs->ebx' won't even compile on the x86_64. These are the major issues, there are also a few minor cosmetic ones: * Please don't use a global variable `remove_debugging_flag', put it inside the `ServerHande' instead. * Please don't copy the private struct `InferiorHandle' from one .c file into another; we can either put it into a header file or add public accessor functions. * Do we really need to add the breakpoint code to thread-db.c ? I would really like to integrate this into the main debugger, but please understand that I also need to ensure long-term maintainability and code cleanness. Martin -- Martin Baulig - [EMAIL PROTECTED] Novell GmbH, Düsseldorf GF: Volker Smid, Djamel Souici; HRB 21108 (AG Düsseldorf) ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Mono Debugger Patch that allows Remote Debugging
Hello Harald! > After discussing the license issue with our project partners, we agreed > to relicense it under MIT X11 license. These are great news! > I've updated the source file headers and the website > http://www.streamunlimited.com/vimem. We're looking forward to the > integration of our code! We look forward to integrating the code. Martin is on vacation for the rest of this week and the next one, but he should be able to merge the code into the debugger on April 2nd. Once again, thanks! Miguel. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Mono Debugger Patch that allows Remote Debugging
Hello Miguel, After discussing the license issue with our project partners, we agreed to relicense it under MIT X11 license. I've updated the source file headers and the website http://www.streamunlimited.com/vimem. We're looking forward to the integration of our code! Best regards, Harald Miguel de Icaza wrote: > Hello Harald, > > This is really cool code, and am looking forward to testing it, this > is something that am sure many users will like to use. Regarding the > license: > > The extension is available under the GNU GPL license and can be >> downloaded here: >> http://www.streamunlimited.com/vimem >> >> Martin: If you want to integrate our patch into the official MDB, please >> contact us - we wouldn't mind! >> Also, in the course of development, we discovered some MDB bugs which we >> filed on bugzilla.novell.com. > > The Mono Debugger code is licensed under the terms of the MIT X11 > license. Currently it consumes a private copy of libbfd which is > licensed under the GPL, but we are trying to keep the GPL code to a > minimum. > > Would you be willing to relicense the code under the terms of the MIT > X11 license? > > Miguel. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Mono Debugger Patch that allows Remote Debugging
Hello Harald, just read your paper and I'm really impressed, this is some awesome news, thanks a lot for this great work ! I'm very interested in integrating this into the official MDB. Regarding your bugzilla bugs, I have really neglected bugzilla the last three months because I was so busy implementing C# 2.0 support. I'm now finally done with that and am currently preparing a 0.80 release. After that, I'll have a look at all the bugzilla bugs. Btw. I'll be on vacations from March 17th-April 1st. Martin On Thu, 2008-03-13 at 14:15 +0100, Harald Krapfenbauer wrote: > Hello Martin, > Hello Mono community! > > We are currently working on a project that makes use of Mono and the > Mono debugger. Now, because we deal with embedded systems, we wanted to > have a resource-saving debugger. > > We developed a remote debugger based on MDB that follows the concept of > GDB and gdbserver. > > The extension is available under the GNU GPL license and can be > downloaded here: > http://www.streamunlimited.com/vimem > > Martin: If you want to integrate our patch into the official MDB, please > contact us - we wouldn't mind! > Also, in the course of development, we discovered some MDB bugs which we > filed on bugzilla.novell.com. > > > Best greetings, > Harald Krapfenbauer > -- Martin Baulig - [EMAIL PROTECTED] Novell GmbH, Düsseldorf GF: Volker Smid, Djamel Souici; HRB 21108 (AG Düsseldorf) ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Mono Debugger Patch that allows Remote Debugging
Hello Harald, This is really cool code, and am looking forward to testing it, this is something that am sure many users will like to use. Regarding the license: The extension is available under the GNU GPL license and can be > downloaded here: > http://www.streamunlimited.com/vimem > > Martin: If you want to integrate our patch into the official MDB, please > contact us - we wouldn't mind! > Also, in the course of development, we discovered some MDB bugs which we > filed on bugzilla.novell.com. The Mono Debugger code is licensed under the terms of the MIT X11 license. Currently it consumes a private copy of libbfd which is licensed under the GPL, but we are trying to keep the GPL code to a minimum. Would you be willing to relicense the code under the terms of the MIT X11 license? Miguel. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list