Re: [RDT-Dev] debugger: stepReturn fix, next+, step+ support

2007-05-01 Thread Martin Krauskopf
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

2007-04-29 Thread Martin Krauskopf

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


Re: [RDT-Dev] debug-commons established

2007-02-16 Thread Martin Krauskopf
Martin Krauskopf wrote:
 Hi,
 
 so the project is alive:
 
 http://rubyforge.org/projects/debug-commons/

Hi again,

sorry for constant disturbing :) But more to set up on. I've started
filling tasks and bugs I'm working on directly to debug-commons
tracker[1] so we pretend duplicating the effort. I've also committed
initial ChangeLog[2] into SVN repository so we know what has changed.

I would like to move debugger-related discussion fully to debug-commons
development forum[3]. If you are interested, just log into rubyforge and
click the link Monitor Forum to be notified by the email.

I'll provide classic-debugger migrating patch for RDT as I promised soon
(hopefully in 1-7 days).

Regarding to various frontend-news I think we may still continue
discussions here. Whatever fixes I'll made into the intermediate Java
layer I'll also provide patch for RDT. In the future I still believe in
the common library sharable between all Java frontend. But that's the
future for now, hopefully near :)

So next time on debug-commons dev forum.

Thanks,

   m.

[1] http://rubyforge.org/tracker/?atid=11903group_id=3085func=browse
[2] in a classic form:
 http://www.gnu.org/software/guile/changelogs/guile-changelogs_3.html
[3] http://rubyforge.org/forum/forum.php?forum_id=12220


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
Rubyeclipse-development mailing list
Rubyeclipse-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development


Re: [RDT-Dev] Ready for debug-commons

2007-02-13 Thread Martin Krauskopf
Martin Krauskopf wrote:
 TBD: mainly adding ruby-debug.rb

I've just update Kent's ruby-debug and it seems that Markus was 
successful with propagating his changes directly there into v 0.8, right 
Markus? Congratulations! :) So there is no need to make it part of 
debug-commons any more?

m.

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Rubyeclipse-development mailing list
Rubyeclipse-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development


Re: [RDT-Dev] Ready for debug-commons

2007-02-13 Thread Martin Krauskopf
Markus Barchfeld wrote:
 Martin Krauskopf wrote:
 Martin Krauskopf wrote:
   
 TBD: mainly adding ruby-debug.rb
 
 I've just update Kent's ruby-debug and it seems that Markus was 
 successful with propagating his changes directly there into v 0.8, right 
 Markus? Congratulations! :) So there is no need to make it part of 
 debug-commons any more?
   
 Hi Martin!
 
 Sorry also from my side for not replying to your other request earlier. 
 But actually there was not much to comment from my side: it sounds good 
 to me and just go for it. I will then  move the development of the 
 debugger tests to debug-commons, too (I have got to get a rubyforge 
 account first).
 Do you have any chance to automate the tests and run them on various 
 ruby versions (and on different platforms)?

Yup, this is another task. Currently I'm using fresh Ruby build from 
ruby_1_8 branch which is the only which works for me. ruby 1.8.5 
(2006-12-25 patchlevel 12) - the last official release; doesn't pass 
the tests. But now it is much easier to catch the culprit. Just one has 
to run rake (all tests), or better ./kill_debugger; rake if you are 
on Linux and you will quickly catch the culprit - test_class_variables 
fails with Segmentation Fault. Than one can play with it repeatedly in 
standard manner.

kill_debugger; cd test; ruby cd_variables_test.rb --name 
test_class_variables; cd ..

I did not have time to look at it yet. Hopefully soon.

 I had lot of trouble with 
 running the tests as part of the Eclipse JUnit test suite. They took a 
 lot of time and were unstable but it should get better without the Java 
 stuff around.

Yes, it's currently very quick process to catch and patch the bug. I've 
stabilized all active and commented tests so everything passes now. Take 
a look at the project I've send you if you want. I'll establish project 
soon.
Also there might be some changes which differs from eclipseDebug.rb. I 
hope I'll able to provide some merging-patch for RDT as well as I wrote 
(it will be small).

 I think we should also run the test suite with ruby-debug if it is 
 supposed to be a sort of compatibility test. And I would have to 
 maintain the Test Suite in org.rubypeople.rdt.debug.test. otherwise. 
 Furthermore there are also some extensions to ruby-debug which should be 
 tested, too.

I'm not sure about this. Did not know how much protocol of ruby-debug 
differs from classic-debug after your recent changes. But I think that 
testbase.rb and reader.rb should be generally useful. Maybe few 
tweaks/generalization will be needed. I need to take a look at 
ruby-debug soon anyway so I would write/help_with those test. I would 
post here before starting to work on them to prevent double-effort.

Regarding org.rubypeople.rdt.debug.test, it should probably be trimmed 
to minimum, needed for testing Java-layer(CommandFactories, 
DebugProxies, ...), not protocol itself. In the future I would also like 
to make the Java-layer part of debug-common project. But there are some 
IDE-dependent stuffs as we talked about probably off-topic for now.

m.

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Rubyeclipse-development mailing list
Rubyeclipse-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development


Re: [RDT-Dev] Problems selecting interpreter in nightly build

2007-01-29 Thread Martin Krauskopf
Werner Schuster (murphee) wrote:
 Christopher Williams wrote:
 We're having a few people trip over this. We expect the directory which
 contains bin/ruby and lib underneath it. So for most unix installs, the
 right directory to choose is /usr or /usr/local.
 
 This'll be a usability problem, so how about this:
 
 Windows: No problem, I guess (Ruby is probably always installed
 somewhere in C:\Program Files and users will know to look there);
 
 Unix systems with package management:
  Well, I've used Debian for 6-7 years, and I've no idea where it dumps
 its files;
  Solution: the StandardVMInstall could say If os == linux (or something)
   1) look for [ /usr/bin/ruby, /usr/lib/ruby ], if that exists
 - pre-fill the RubyHome with /usr
   2) else look for [ /usr/local/bin/ruby, /usr/local/lib/ruby ]
 if that exists - pre-fill the RubyHome with /usr
   3) else: Other usual locations?
   4) else: tough luck, user's on their own;
 
 
 Mac OS X:
   It's also a Unix with package management, but where does it normally
 stuff Ruby? This location should be pre-filled too.
 
 Comments?

Maybe, you could also try (as a step 2.5) to analyze output from:


ProcessBuilder pb = new ProcessBuilder(ruby, -e,
 require 'rbconfig'; +
 puts Config::CONFIG['bindir']; +
 puts Config::CONFIG['libdir']);


or similar. Presumably works if the 'ruby' is on the PATH which is often 
the case (at least on Unix/Linux-like systems).

m.

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
Rubyeclipse-development mailing list
Rubyeclipse-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development


Re: [RDT-Dev] Remote Debug project

2007-01-26 Thread Martin Krauskopf
Werner Schuster (murphee) wrote:
 Martin Krauskopf wrote:
 Yes, this is what I'm beginning to work on. It will be bunch of small 
 -Test::Unit::TestCase-s which will be testing every corner of the 
 protocol, runnable against whatever Ruby implementation. So it will as 
 well catch every incompatibility in JRuby vs. CRuby then. Which is also 
 the case now but little cumbersome since one more Java layer. I'll still 
 be filling bugs into your IssueTracker with minimalistic test-cases.
   
 That's a great idea, this should help to fix some of the remaining
 issues with JRuby's tracing implementation (line numbers, bindings) and
 show the JRuby work left for compatibility with CRuby.
 
 Could you make this stuff (tests, etc) available on the net, over at
 RubyForge or wherever is convenient. I want to chip in some work for
 that, but I can't justify too much right now - the JRuby RDT plugin
 offers to many chances for features.

Ok. I'll do so. I also do not promise any schedule yet. I'll let you 
know here on the mailing list... having also a lot of work on the frontend.

Any preferences for the name of the project? Remote Debug? Or Remote 
Debug Commons? :)

BTW is anybody actively working on FTC_ClassicDebuggerCommunicationTest? 
I've noticed that always when there is a new fix/commit only few test 
cases (currently three) are enabled. I would stabilize those test and 
uncomment as much of test cases as possible. I'll also uncomment 
WasteReader thread in FTC_Abstract... which, if uncommented/enabled, 
would currently breaks some tests. If anybody also working on this let 
me know.

Thanks, cheers,
m.


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
Rubyeclipse-development mailing list
Rubyeclipse-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development


Re: [RDT-Dev] Remote Debug project

2007-01-26 Thread Martin Krauskopf
Markus Barchfeld wrote:
 Any preferences for the name of the project? Remote Debug? Or Remote 
 Debug Commons? :)
   
 I think commons is important, so Remote Debug Commons or Debugger 
 Commons sounds good.
 BTW is anybody actively working on FTC_ClassicDebuggerCommunicationTest? 
 I've noticed that always when there is a new fix/commit only few test 
 cases (currently three) are enabled. I would stabilize those test and 
 uncomment as much of test cases as possible. I'll also uncomment 
 WasteReader thread in FTC_Abstract... which, if uncommented/enabled, 
 would currently breaks some tests. If anybody also working on this let 
 me know.
   
 Please enable all. I have used the suite method during development and 
 then forgotten to comment it again.

Yup, as much as possible. Some of them fails. There seems to be some 
bugs in eclipseDebug.rb. E.g.:

test.rb
---
require 'test2.rb'
Test2.new.print() # breakpoint - step over (will stop at test2.rb:4)
puts 'a'

test.rb
---
class Test2
   def print
 puts 'XX'
 puts 'XX' # breakpoint - continue. Should finish[1]
   end
end

[1] but it does not. It will stops on test.rb:3. I'll take a look at 
such cases.

BTW on which version of debug.rb is eclipseDebug.rb built on? According to:

   http://rubyeclipse.mktec.com/cgi-bin/trac.py/ticket/225

it seems quite old. There was not merged fix in debug.rb which was five 
years old.

 
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/lib/debug.rb.diff?r1=1.24;r2=1.25

   m.

PS: not needed to put me on the CC ;) I'm receiving emails twice then.

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
Rubyeclipse-development mailing list
Rubyeclipse-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development


[RDT-Dev] Remote Debug project

2007-01-22 Thread Martin Krauskopf
Hi,

I would like to start talk about the topic on this list. We exchanged
few emails about it with Chris, Markus and murphee and I see more and
more people invoked, like Mirko. I wasn't aware that so much developers
contribute just to the debugger.

So as we discussed it would be great if debugging backends, currently
XML protocol aware debugr.rb - eclipseDebug.rb; and extended ruby-debug
from Kent Sibilev would be moved to some project on rubyforge.org where
all interested parties could cooperate on further development of the
features.

With what to start? I could start with writing test in Ruby. Those tests
would ensure that backends correspond closely to the specification.
Since there is not yet any specification I would also start to writing
it in the wiki format on RDT's wiki[1] for now. I would simply write it
as it currently correspond to the current implementation and gradually I
would switch from specification-by-implementation to
implementation-by-specification. I believe it will bring a lot of
clearance to the protocol. Those Ruby communication-test will be more
pedantic (kind of low-level) than current functional test written in
Java. Current Java test suite will be still useful for checking Java
parsers functionality. Doesn't  this interfere with of anybody's else
work?

If nobody else I can later found project on rubyforge. murphee talked
about joining JRuby extras, but the project is rather
ruby-implementation independent. So probably a new Remote Debug? Or
joining one of the existing debug-related projects? I'm not yet that
knowledgeable about all such projects. Maybe there is already similar
effort I'm not aware of.

So does above make sense, other ideas, ...?

Thanks,

   m.

[1] http://rubyeclipse.mktec.com/cgi-bin/trac.py/wiki

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
Rubyeclipse-development mailing list
Rubyeclipse-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development