Vasily, Thank you for explanation and answers. Now the approach with external debugging looks much better for me.
2007/10/16, Vasily Levchenko <[EMAIL PROTECTED]>: > sds > > On 10/14/07, Ilya Berezhniuk <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>: > > > +1 for accepting it now. NCAI is a good extension to mechanisms > > naturally > > > provided by Java debugger. > > > > > > On 10/12/07, Mikhail Loenko <[EMAIL PROTECTED]> 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 > -- Ilya
