Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Support seamless debugging between JDT and CDT"

(Roadmap)
(Work done)
Line 21: Line 21:
 
== Work done ==  
 
== Work done ==  
  
===First step===
+
===First step : documentation of existing work===
* documentation of existing work:
+
* Approaches for debugging Java and native code in Eclipse and new debug interface proposal (XDI)
** Approaches for debugging Java and native code in Eclipse and new debug interface proposal (XDI)
+
**[http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/cdt-home/presentations/spring2006/debugger_for_eclipse.ppt?cvsroot=Tools_Project Mixed mode debugger, JDT/CDT projects (Vitaly Provodin - Intel)]
***[http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/cdt-home/presentations/spring2006/debugger_for_eclipse.ppt?cvsroot=Tools_Project Mixed mode debugger, JDT/CDT projects (Vitaly Provodin - Intel)]
+
**[http://www.eclipsecon.org/2007/index.php?page=sub/&id=4129 Mixed mode debugger prototype presentation]
***[http://www.eclipsecon.org/2007/index.php?page=sub/&id=4129 Mixed mode debugger prototype presentation]
+
* Debugging Java and C/C++ code
** Debugging Java and C/C++ code
+
**[http://www-128.ibm.com/developerworks/java/library/j-jnidebug/index.html?dwzone=java Debugging integrated Java and C/C++ code]
***[http://www-128.ibm.com/developerworks/java/library/j-jnidebug/index.html?dwzone=java Debugging integrated Java and C/C++ code]
+
**[http://developers.sun.com/learning/javaoneonline/2006/tools/TS-1011.pdf Debugging integrated in Eclipse]
***[http://developers.sun.com/learning/javaoneonline/2006/tools/TS-1011.pdf Debugging integrated in Eclipse]
+
**[http://www.kineteksystems.com/white-papers/mixedjavaandc.html Java and C/C++ JNI Application Debugging with GUI]
***[http://www.kineteksystems.com/white-papers/mixedjavaandc.html Java and C/C++ JNI Application Debugging with GUI]
+
 
 +
==Second step : prototype ==
 +
* work on a prototype which
 +
** launch a Java Debugger
 +
** attach a C debugger to the JVM
 +
** allow you to debug C/C++ code and Java code debugging in the same view
 +
 
 +
* code is available on svn
 +
** svn co https://eclipse-incub.svn.sourceforge.net/svnroot/eclipse-incub/jni_seamless_debugging jni_seamless_debugging
  
 
==Roadmap==
 
==Roadmap==

Revision as of 09:54, 28 May 2007

Student: Mariot Chauvin (IRC: moksha_anderson)

Mentors: Philippe Ombredanne (IRC: pombreda), Francois Granade (IRC: farialima)

This project is part of the Google Summer of Code 2007


Introduction

Eclipse is an extensible framework to build modular applications, which relies on OSGi component architecture. Originally developed to provide an IDE extensible in terms of functionalities and supported languages with plugins, Eclipse can now be used as a Rich Client Platform (RCP). The success of the Java Development Toolkit (JDT) plugin has leaded the development of numerous plugins. For instance the C/C++ Development Toolkit (CDT) plugin allows developers to use it as IDE for project in C or C++ language. The use of Eclipse as a generic IDE is possible due to the notion of perspective (a perspective corresponds to a certain disposition of the graphical elements) which adapts the user interface to the kind of project.

Java Native Interface (JNI) is a programming interface to call native methods or to embed java virtual machine in native applications. JNI is often used to interact with existing native application, to add platform-specific functions, or to improve time-performance (by supposing native methods faster than java code).

Currently, when users work on a java project using JNI and native code, they have to switch between perspective, which is not practical. Another point to improve is the debugging of this kind of project, by allowing developers to follow native method calls into native code and go back.

Goals of the project

  • Create new or 'mixed' perspectives to manage project using C/C++ and Java
  • Add the possibility to follow native methods calls into native code

Work done

First step : documentation of existing work

Second step : prototype

  • work on a prototype which
    • launch a Java Debugger
    • attach a C debugger to the JVM
    • allow you to debug C/C++ code and Java code debugging in the same view

Roadmap

  • until begin of July :
    • deal with the error cases.
    • work on synchronization between CDI and JDI
  • until mid of August :
    • proceed with the work on synchronization between CDI and JDI
    • UI improvement (perspectives ?)
  • until end :
    • integration and tests

Back to the top