harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Harmony Wiki] Update of "Harmony_JDB_Command_Line_Tool" by DanielGong
Date Sun, 15 Aug 2010 15:18:48 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The "Harmony_JDB_Command_Line_Tool" page has been changed by DanielGong.
http://wiki.apache.org/harmony/Harmony_JDB_Command_Line_Tool?action=diff&rev1=4&rev2=5

--------------------------------------------------

  Since the JDB implementation is supposed to be compatible enough with RI (Sun JDK), I don't
have to specify the commands and function it supports. However, as I will mention in the challenges
part, a detailed specification of JDB will be very helpful. I'm planning to create and maintain
such an open document during the development of JDB.
  
  For the code framework, the most important point I have to mention is I use enum to implement
commands, define match and run methods in the enum class and  override them in the enum instance
if necessary. I believe the design makes the code structure clear and the only shortage is
the long code.
+ 
+ I've divided the commands that jdb supports into two categories:
+ 
+  1. execution control: those commands that control the running of debuggee, such as next,
cont, run, stop, etc.
+  2. information display: those commands that display informations of debuggee when it's
suspended, such as threads, print, dump, etc.
+ 
+ and I suggest that developers should concentrate on the first category first because it's
more important and related to the code structure.
  
  For those developers who are not familiar with JDI, I'd like to provide a metaphor to describe
how to design debugger with JDI: it's not the debugger that drives the program to run (debuggee)
or stop; the program just run by itself, if the debugger wants it to stop, set up a barrier
(any event request that will cause the program to be blocked) to stop it; if you want it to
continue, jump over the barrier (handle the corresponding event) and go on.
  

Mime
View raw message