harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hu jing <huj....@gmail.com>
Subject [GSoC] Proposal For jdb command line debugger tool.
Date Wed, 01 Apr 2009 13:56:43 GMT
Hi all,

    I am interested in the "jdb command line debugger tool". I find Sun jdb
is not very friendly to developers. I want to add some useful function to
this tool. Such as, Auto-complete command line, smart format for the user
input. And we can also supply some interfaces to further development.
    Wen Dong(zwd2005@gmail.com) and I want to participate in this tool
development. We are from the same laboratory of the Department of Computer
Science of Nanjing University. We worked together for two years and now we
are both interns in IBM CDL. I think we can work out the debugger tool

    The popular architecture is JPDA(Java Platform Debugger Architecture).
JPDA contains three parts: JVMTI, JDWP and JDI. JVMTI(Java Virtual Machine
Tool Interface) supply a set of native interface supplied by JVM. The
development based on the JVMTI level is complex and hard to be extended and
modified. JDWP supplies a standard protocol for the communication between
the debugger and debuggee. And it also provides the socket interface. JDI is
debug interface. It is mostly implemented in Java. JVMTI and JDWP are based
native code. We want to implement the java command line debugger tool in
C/C++ considering efficiency. We will use JDWP interface for development
efficiency and Portability.
    The following is our main idea for this tool:

    1.format the user input.
    2.validate the command arguments.
    3.Create connection between debugger and JVM, and here we can use the
JDWP Transport Interface. Based on the JDWP, We create packages containing
the command information and send packages to JVM by using the transport
interface. JVM will process these packages and send the feedback to the
debugger. And we will process this information.
    4.print the message on the console.

       We can work 20 hours each week.
       April 4 ~ April 30: Be family with JDWP and JDWP Transport Interface.
       May 1 ~ May 22: meet our mentors, read the documentation and get some
suggestions from our mentors.
       May 23 ~ May 30: to determine the final framework and algorithm
details, divide the work with my partners.
       June 1 ~ June 30: coding.
       July 1 ~ July 5: integration, test and debug for mid-term
       July 6 ~ August 11: process the debug, documentation and integration.
       August 12 ~ August 24: write test unit, debug and final release.

Jing Hu , WenDong Zhang.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message