Re: [RDT-Dev] debugger: stepReturn fix, next+, step+ support
Hi folks, Martin, thanks for CCing me, some comments: Definitely DLTK has strong intention to move to debug-commons further, and we're very anxious about Werner's efforts on DBGp implementation. DLTK plans regarding debug is open and following: we *shall* have DBGp-based debugger by DLTK 1.0 RC0, which is scheduled on May 11th, so (and unfortunately) we have no time to cooperate with debug-commons right now. DLTK 1.0 will be released with simple DBGp implementation on top of debug.rb. This solution is far from the best, but we need give end-users at least minimal possibility to debug their code. Also DLTK in general could not be considered as complete solution for the end-users, so vendors on top of DLTK could implement own debugging techniques. After DLTK 1.0 we're going to switch to debug-commons. If debug-commons will have some DBGp-related stuff later in summer (murphee?), I believe we'll switch to that. If not, I believe we'll contribute it :) We look forward to working with you guys, and Kind Regards, Andrey -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 02, 2007 1:05 AM To: rubyeclipse-development@lists.sourceforge.net Cc: Andrey Platov Subject: Re: [RDT-Dev] debugger: stepReturn fix, next+, step+ support Werner Schuster (murphee) wrote: Martin Krauskopf wrote: BTW it seems that there will be something like jruby-debug soon. I hope I will have enough time to participate a lot on this piece. Might be another debug-commons child or jruby-extras, does not matter to much. jruby-debug would be good - BTW: yesterday I found out about a problem in JRuby and set_trace_func based debugging: if JRuby's JIT is turned on, this won't work, because the code that the JIT emits doesn't call the trace function. I guess, there's not much to do about this before 1.0, but I guess filing this as a bug would is necessary for post-1.0. If we would be able to come with jruby-debug soon (month, two?) I thing that set_trace_func should be completely deprecated as a technique for debugger implementation. It is quite unusable for any large applications like, yup, rails. But should be supported for other interpreters as a fall-back. Also it seems that DLTK people would join us in the future with debug-commons with DBGp implementation. Future seems quite good for ruby-debugging thanks to your initial contribution Markus! ;) Have they committed to sharing their DBGp implementation? Andrey Platov wrote me that they would. But in the further future. They do not have enough time currently. I think they are quite open-minded folks. CCing Andrey then to talk for him. They have a Ruby version in their CVS but it's not based on the RDT/eclipse-debug code. If there's an interest: I've been working on my own Ruby DBGp implementation (with the RDT code as backend) - it's not complete, and I'm still trying to get it to connect with DLTK, but it's coming along. This is exactly the problem. We are all working on the same again and again. I think we could cooperate and have something we could use all. Then when there is bug, one of us just fix it and everybody has it for free. Then we can concentrate to work on another advanced features wrt. to Ruby debugging. Probably debug-commons could be the place to start? :) And in the future it could become something like Java has in the JPDA, maybe... m. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Rubyeclipse-development mailing list Rubyeclipse-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development
Re: [RDT-Dev] debugger: stepReturn fix, next+, step+ support
Hi Martin! I'm going to merged support of next+ and step+ into ruby-debug-ide (will be 0.1.3). This is a new feature added by Kent into ruby-debug 0.9.1: http://www.datanoise.com/articles/2007/4/3/ruby-debug-version-0-9-1-has-been-released Yes. Thanks. In the last days Kent has released ruby-debug-base 0.9.3, which includes at least one bug fix, which is relevant for us, too. In the following example the third line would not be covered from a next command. 1: if a==0 2: p a is 0 3: elsif a==1 4: p a is 1 5: end So, I have released ruby-debug-ide 0.1.4 which binds to ruby-debug-base 0.9.3 and also has the following changes:** * fixed noise on stdout * debug_eval got a 10 sec timeout * fixed exit command I've also notice that RubyDebugCommandFactory#createStepReturn uses 'next' command. It should use 'finish' command instead I believe. But maybe I've missed some hidden purpose. No, it was just plain ignorance from my side. Attaching possible patch containing createStepReturn fix as well as possible next+/step+ utilization. Thanks, I have applied them. So let me know if you commit the fix to createStepReturn into RDT so I may proceed with next+/step+ merge. I have no idea yet how we should integrate the forced (+) next/step commands into the debug perspective. AFAIU the comments from Kent they make most sense in rhtml files although they can be used in every file. So, it might be a good default to use forced commands in rhtml files but so far you can't even set a breakpoint in an rhtml file. Thanks Markus - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Rubyeclipse-development mailing list Rubyeclipse-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development
Re: [RDT-Dev] debugger: stepReturn fix, next+, step+ support
Martin Krauskopf wrote: BTW it seems that there will be something like jruby-debug soon. I hope I will have enough time to participate a lot on this piece. Might be another debug-commons child or jruby-extras, does not matter to much. jruby-debug would be good - BTW: yesterday I found out about a problem in JRuby and set_trace_func based debugging: if JRuby's JIT is turned on, this won't work, because the code that the JIT emits doesn't call the trace function. I guess, there's not much to do about this before 1.0, but I guess filing this as a bug would is necessary for post-1.0. Also it seems that DLTK people would join us in the future with debug-commons with DBGp implementation. Future seems quite good for ruby-debugging thanks to your initial contribution Markus! ;) Have they committed to sharing their DBGp implementation? They have a Ruby version in their CVS but it's not based on the RDT/eclipse-debug code. If there's an interest: I've been working on my own Ruby DBGp implementation (with the RDT code as backend) - it's not complete, and I'm still trying to get it to connect with DLTK, but it's coming along. murphee - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Rubyeclipse-development mailing list Rubyeclipse-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development
Re: [RDT-Dev] debugger: stepReturn fix, next+, step+ support
Werner Schuster (murphee) wrote: Martin Krauskopf wrote: BTW it seems that there will be something like jruby-debug soon. I hope I will have enough time to participate a lot on this piece. Might be another debug-commons child or jruby-extras, does not matter to much. jruby-debug would be good - BTW: yesterday I found out about a problem in JRuby and set_trace_func based debugging: if JRuby's JIT is turned on, this won't work, because the code that the JIT emits doesn't call the trace function. I guess, there's not much to do about this before 1.0, but I guess filing this as a bug would is necessary for post-1.0. If we would be able to come with jruby-debug soon (month, two?) I thing that set_trace_func should be completely deprecated as a technique for debugger implementation. It is quite unusable for any large applications like, yup, rails. But should be supported for other interpreters as a fall-back. Also it seems that DLTK people would join us in the future with debug-commons with DBGp implementation. Future seems quite good for ruby-debugging thanks to your initial contribution Markus! ;) Have they committed to sharing their DBGp implementation? Andrey Platov wrote me that they would. But in the further future. They do not have enough time currently. I think they are quite open-minded folks. CCing Andrey then to talk for him. They have a Ruby version in their CVS but it's not based on the RDT/eclipse-debug code. If there's an interest: I've been working on my own Ruby DBGp implementation (with the RDT code as backend) - it's not complete, and I'm still trying to get it to connect with DLTK, but it's coming along. This is exactly the problem. We are all working on the same again and again. I think we could cooperate and have something we could use all. Then when there is bug, one of us just fix it and everybody has it for free. Then we can concentrate to work on another advanced features wrt. to Ruby debugging. Probably debug-commons could be the place to start? :) And in the future it could become something like Java has in the JPDA, maybe... m. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Rubyeclipse-development mailing list Rubyeclipse-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development
[RDT-Dev] debugger: stepReturn fix, next+, step+ support
Hi again, I'm going to merged support of next+ and step+ into ruby-debug-ide (will be 0.1.3). This is a new feature added by Kent into ruby-debug 0.9.1: http://www.datanoise.com/articles/2007/4/3/ruby-debug-version-0-9-1-has-been-released I've also notice that RubyDebugCommandFactory#createStepReturn uses 'next' command. It should use 'finish' command instead I believe. But maybe I've missed some hidden purpose. Attaching possible patch containing createStepReturn fix as well as possible next+/step+ utilization. So let me know if you commit the fix to createStepReturn into RDT so I may proceed with next+/step+ merge. Thanks, m. Index: src/org/rubypeople/rdt/internal/debug/core/RubyDebugCommandFactory.java === --- src/org/rubypeople/rdt/internal/debug/core/RubyDebugCommandFactory.java (revision 2389) +++ src/org/rubypeople/rdt/internal/debug/core/RubyDebugCommandFactory.java (working copy) @@ -24,14 +24,22 @@ return frame + frame.getIndex() + ; next ; } + public String createForcedStepOver(RubyStackFrame frame) { + return frame + frame.getIndex() + ; next+; + } + public String createStepReturn(RubyStackFrame frame) { - return frame + frame.getIndex() + ; next 1 + (frame.getIndex() + 1) ; + return frame + frame.getIndex() + ; finish; } public String createStepInto(RubyStackFrame frame) { return frame + frame.getIndex() + ; step; } + public String createForcedStepInto(RubyStackFrame frame) { + return frame + frame.getIndex() + ; step+; + } + public String createReadThreads() { return th l; } Index: src/org/rubypeople/rdt/internal/debug/core/ICommandFactory.java === --- src/org/rubypeople/rdt/internal/debug/core/ICommandFactory.java (revision 2389) +++ src/org/rubypeople/rdt/internal/debug/core/ICommandFactory.java (working copy) @@ -16,10 +16,14 @@ public String createStepOver(RubyStackFrame stackFrame); + public String createForcedStepOver(RubyStackFrame stackFrame); + public String createStepReturn(RubyStackFrame stackFrame); public String createStepInto(RubyStackFrame stackFrame); + public String createForcedStepInto(RubyStackFrame stackFrame); + public String createReadThreads(); public String createThreadStop(RubyThread thread); @@ -37,4 +41,4 @@ public String createCatchOn(IBreakpoint breakpoint) throws CoreException; public String createLoad(String filename); -} \ No newline at end of file +} Index: src/org/rubypeople/rdt/internal/debug/core/ClassicDebuggerCommandFactory.java === --- src/org/rubypeople/rdt/internal/debug/core/ClassicDebuggerCommandFactory.java (revision 2389) +++ src/org/rubypeople/rdt/internal/debug/core/ClassicDebuggerCommandFactory.java (working copy) @@ -24,6 +24,11 @@ return th + ((RubyThread) stackFrame.getThread()).getId() + ; next; } + public String createForcedStepOver(RubyStackFrame stackFrame) { + // not supported by Classic Debugger + return createStepOver(stackFrame); + } + public String createStepReturn(RubyStackFrame stackFrame) { return th + ((RubyThread) stackFrame.getThread()).getId() + ; next + (stackFrame.getLineNumber() + 1); } @@ -32,6 +37,11 @@ return th + ((RubyThread) stackFrame.getThread()).getId() + ; step; } + public String createForcedStepInto(RubyStackFrame stackFrame) { + // not supported by Classic Debugger + return createStepInto(stackFrame); + } + public String createReadThreads() { return th l; } - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ Rubyeclipse-development mailing list Rubyeclipse-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development