Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-debug-dev] Re: [platform-debug-dev] Improved support for mapping other languages onto JDWP


Thanks for your input. The "jdt-debug-dev" list is the correct place to post the information.

Darin



David Sanders <dsanders@xxxxxxxxxxx>
Sent by: platform-debug-dev-admin@xxxxxxxxxxx

07/17/2002 04:53 PM
Please respond to platform-debug-dev

       
        To:        platform-debug-dev@xxxxxxxxxxx
        cc:        Peter Burka <Peter_Burka@xxxxxxx>, jdt-debug-dev@xxxxxxxxxxx
        Subject:        Re: [platform-debug-dev] Improved support for mapping other languages  onto JDWP


JSR045 is incomplete for several areas:

1. It does not consider variables.  

   This would be difficult to standardize because it depends
   on the implementation.  For instance, some may map source
   variables to an underlying hashtable in the java code, while
   others may have a more one to one mapping.  Also, the java code
   may have temporary or 'support' variables that the user will
   not be dealing with at the higher level.

2. It does not map character positions, only line  numbers.  This is
a problem if more than one command can be on a line.

3. It does not explicitly address whether or not one can have multiple
of the same input source lines mapped to different output lines.
(Again, this is necessary because multiple commands/verbs can be on the
same line.)

4. Generally, there exists support structure in the resulting
Java code that does not map to lines in the user code.  (When
stepping, these structures need to be accounted for and invisible
to the user.  In other words, one user 'step-into' may map to
many step-intos, step-overs, and step-returns in the underlying
java code.)


We've learned some lessons wrappering the jdt debug model thus far
(we are still working on the project).  I'll see if I can create a
document describing what we've had to do so far.  This may give
some insight on improvements that can be made.  Let me know if
there's a specific person or place to send the information.


Regards,

David Sanders
LegacyJ, Corp.



Darin Wright wrote:
>
> Peter (with CC to debug lists since there are other interested
> parties),
>
> I have some questions about improving the support for mapping other
> languages to JDWP.
>
> First of all, if JSR045 were implemented, we would have access to
> strata, which could be supported in the java debug model. This would
> lilkely provide much flexibility, but perhaps not all that we need.
> The strata support provides a way to map line numbers to alternate
> source. However, it does not provide a way to map a VM to a different
> set of threads, or a thread to a different set of stack frames, or a
> frame to a different set of variables. I believe that many ISVs that
> proxy to a Java debug model will want to change the debug model
> element structure/hierarchy in some way.
>
> The debug model presentation does not perform this task (as you found
> out) - it is simply a label provider.
>
> I have toyed with the idea of allowing a "content provider" to be
> specified for a specific debug model, in a specific view. For example,
> to allow the java debug model to display thread groups, which are not
> part of the generic debug model, a go-between is required between the
> view and the model to get the proper structure/content into the view.
> Currently, debug views have hard-wired content providers. This sort of
> support would allow a toggle action to set a custom content provider
> in a specific view (i.e. toggle show/hide thread groups).
>
> An extension of this idea is to allow a content provider and debug
> model presentation to be specified for a specific launch, on a global
> level. Thus, the custom content provider and presentation would be
> used in all debug views for the specified launch. This provides more
> power, but I am not sure how useful it is. In general, I believe that
> ISVs wanting to proxy to a Java debug model need more than
> "presentation" aspects. They likely need to maintain state in their
> own debug model. Do you agree?
>
> If so, you mention the idea of a "JDWP proxy framework". Do you have
> more concrete ideas on how this framework would need to be
> implemented. I presume you are looking for a set of debug model
> elements implementing the standard debug model interfaces that proxy
> to the java debug model. But is the mapping 1:1 by default? i.e. frame
> to frame, thread to thread. Do users of the framework simply subclass
> and override?
>
> Thanks,
>
> Darin
_______________________________________________
platform-debug-dev mailing list
platform-debug-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-debug-dev



Back to the top