Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 88682 invoked from network); 17 Oct 2007 10:47:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 17 Oct 2007 10:47:43 -0000 Received: (qmail 21454 invoked by uid 500); 17 Oct 2007 10:47:29 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 21435 invoked by uid 500); 17 Oct 2007 10:47:29 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 21426 invoked by uid 99); 17 Oct 2007 10:47:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Oct 2007 03:47:29 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of t.p.ellison@gmail.com designates 64.233.182.189 as permitted sender) Received: from [64.233.182.189] (HELO nf-out-0910.google.com) (64.233.182.189) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Oct 2007 10:47:31 +0000 Received: by nf-out-0910.google.com with SMTP id k4so1990808nfd for ; Wed, 17 Oct 2007 03:47:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:x-enigmail-version:content-type:content-transfer-encoding; bh=umWPqMug3/q7ivgWfmT3ilA6yYA2xKwCqrZHmqhGgA8=; b=QJrIrDkUAiiEZbBwMabhuZ9ETyBtgb9OTe0PlMsLz/1RqaphXhp4Hmzxt1VBdOdFt69oZb5JcaKIUbvglxv7Zu23o4eiW6iYHDQbUhTkJXGFuIW/scpaPM6R5INFe+gPf2Bl+C7E3E5zX+TGOPy0jSlzo1P3qwEpenVskVbZ8pk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:x-enigmail-version:content-type:content-transfer-encoding; b=PFmUMmP/eqERMtAkDmWZ/BWAW5nm+Lhz7Y3TrIcr4H6aAwUra/ln1A8o5b1wu18i2sYJlWjL9vce13/INCZ/6PRcl/MjD+D8NXPDPS3ype4zVMu1OZ2D9O779RRaLJi6dKxd/9SRYdL0SkDxv0S0vlJyBJdmVg+d+VcxHMUGKsE= Received: by 10.78.160.4 with SMTP id i4mr5557457hue.1192618029456; Wed, 17 Oct 2007 03:47:09 -0700 (PDT) Received: from ?9.20.183.67? ( [195.212.29.83]) by mx.google.com with ESMTPS id 1sm8211370nfv.2007.10.17.03.47.07 (version=SSLv3 cipher=RC4-MD5); Wed, 17 Oct 2007 03:47:08 -0700 (PDT) Message-ID: <4715E823.6030300@gmail.com> Date: Wed, 17 Oct 2007 11:46:59 +0100 From: Tim Ellison User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: dev@harmony.apache.org Subject: Re: Thoughts... References: <14ecfd680710160012q17163989kfe537874dd5297b3@mail.gmail.com> <5ce835490710160723i36e795cdq1c3f2055f45044e3@mail.gmail.com> In-Reply-To: <5ce835490710160723i36e795cdq1c3f2055f45044e3@mail.gmail.com> X-Enigmail-Version: 0.95.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org 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 : >> sds >> >> On 10/14/07, Ilya Berezhniuk 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 : >>>> +1 for accepting it now. NCAI is a good extension to mechanisms >>> naturally >>>> provided by Java debugger. >>>> >>>> On 10/12/07, Mikhail Loenko 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 >> > >