harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: Thoughts...
Date Wed, 17 Oct 2007 10:46:59 GMT
Just wanted to say "thank you".  This was an interesting discussion to
see and useful to helping me understand NCAI.

Tim

Ilya Berezhniuk wrote:
> Vasily,
> 
> Thank you for explanation and answers.
> Now the approach with external debugging looks much better for me.
> 
> 
> 2007/10/16, Vasily Levchenko <vasily.v.levchenko@gmail.com>:
>> 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
View raw message