harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vasily Levchenko" <vasily.v.levche...@gmail.com>
Subject Re: Thoughts...
Date Tue, 16 Oct 2007 07:12:29 GMT
sds

On 10/14/07, Ilya Berezhniuk <ilya.berezhniuk@gmail.com> wrote:
>
> Hi all,
>
> Let me speak to NCAI debugging approach.
>
> 1) JVMTI is implemented using self-process debugging; it will never be
> implemented by another way, I guess.


Sounds reasonable. But let's look closer, JVMTI is a way of debugging of
managed code and that is enough isolation, VM border doesn't provide
isolation for native debugging, that is a reason why native debuggers except
kernel debuggers are isolated with process borders.


So NCAI merely extends JVMTI
> approach to native code debugging.


With NCAI we  try to apply the same mechanisms for unmanaged code, like we
do it for managed and that I think is not so good. For full function
debugger (long-term) we will have to make extension interface but it will
work in debugger address space like thread_db or any other interface
provided by OS.

Using external debugger for debugging native code will lead to using 2
> different debuggers simultaneously - it can lead to conflicts between
> the debuggers.
>
> 2) Any debugger should be aware about some VM internals when debugging
> JNI code.


I absolutely agree with you, opposite solutions will be led to less
adoption, instead I prefer debugger interfaces for VM-specific modules, like
it was already done for OS specific modules.


So external debugger would use some callbacks functions in
> VM.


External debugger can call debugee functions that could be helper function
in JVMTI agent.

But those callbacks would be not for debugging itself, but for
> exposing some raw info about VM internals.


It not necessary  to get internal VM information for JVMTI based solution ;)
JVMTI interface provides enough information to manage java world from
external debugger the difference between JDI/JDWP/JVMTI is in method of
sending command, debugger use ptrace for writing data directly into the
debugee address space.

Quite the opposite, NCAI is
> well defined debug interface which provides processed data in a form
> like JVMTI does.
>
>
> 2007/10/12, Pavel Pervov <pmcfirst@gmail.com>:
> > +1 for accepting it now. NCAI is a good extension to mechanisms
> naturally
> > provided by Java debugger.
> >
> > On 10/12/07, Mikhail Loenko <mloenko@gmail.com> wrote:
> > >
> > > We now have all requisite paperwork in place for
> > > http://issues.apache.org/jira/browse/HARMONY-4689, so let's vote to
> > > accept:
> > >
> > > [ ] +1 Accept this contribution
> > > [ ] -1 Reject because...
> > >
> > > As usual, 3 days unless someone complains they need more time.
> > >
> >
> >
> >
> > --
> > Pavel Pervov,
> > Intel Enterprise Solutions Software Division
> >
>
>
> --
>
> Ilya
>



-- 
--vvl

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