Thursday, July 12, 2007

almost seamless, need tests and interest !

Since my last post on my google summer of code project, I am proud to announce great advancements.
First of all, I find how to have the C/C++ file editor. I use org.eclipse.cdt.debug.core.sourcePathComputer instead of my JMLSourcePathComputer and it works fine ! (I can't explain why it does not work with my JMLSourcePathComputer, if someone knows I am interested)

Then I automated the resume on the JVM thread. You does need anymore to do it manually (the seventh step in the previous post).

Then I implemented the automatic breakpoints addition on C/C++ native functions. To do that I rely on the CDT possibilies and the JNICALL magic keyword. You does need anymore to do it manually (the fourth step in the previous post )

And finally I am working now on the debug events, in order that when the user choose to step over a Java native call, the C breakpoints are automatically resumed. It works well for the moment from Java to C/C++ native code, but I still have to work for the other direction (C/C++ code which calls Java methods).

The next step will be to provide some JUnit tests

I hope the eclipse community will found interest in this work, and help me to improve and test this plug-in.
I am sure this functionnality will be helpfull for some people, so if you have some free hours, test it, read/review the code, or comment this post.
Thanks !

other change since the last time

  • java version min: 1.4
  • bugzilla : there is org.eclipse.soc.jni component in eclipse bugzilla

problems known

  • sometimes gdb does not success to attach to the pid. I don't know why. Not regular and seems to be a gdb bug or limitation.
  • the automatic breakpoints addition does not check if previous breakpoints were added at the same line. Will be resolved soon.