Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78325 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 38540 invoked from network); 25 Oct 2014 11:00:25 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 Oct 2014 11:00:25 -0000 Authentication-Results: pb1.pair.com smtp.mail=bobwei9@hotmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=bobwei9@hotmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain hotmail.com designates 65.55.111.157 as permitted sender) X-PHP-List-Original-Sender: bobwei9@hotmail.com X-Host-Fingerprint: 65.55.111.157 blu004-omc4s18.hotmail.com Received: from [65.55.111.157] ([65.55.111.157:55697] helo=BLU004-OMC4S18.hotmail.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 09/30-36207-7C28B445 for ; Sat, 25 Oct 2014 07:00:24 -0400 Received: from BLU436-SMTP187 ([65.55.111.137]) by BLU004-OMC4S18.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Sat, 25 Oct 2014 04:00:21 -0700 X-TMN: [54ogh41Jui/Kj8FsB0xyVrE7jYoRySMq] X-Originating-Email: [bobwei9@hotmail.com] Message-ID: Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 (Mac OS X Mail 8.0 \(1990.1\)) In-Reply-To: Date: Sat, 25 Oct 2014 13:00:15 +0200 CC: Joe Watkins , PHP Developers Mailing List Content-Transfer-Encoding: quoted-printable References: <1414217636.2624.89.camel@localhost.localdomain> <1414229963.2624.103.camel@localhost.localdomain> To: Derick Rethans , Pierre Joye X-Mailer: Apple Mail (2.1990.1) X-OriginalArrivalTime: 25 Oct 2014 11:00:19.0614 (UTC) FILETIME=[DDC3D3E0:01CFF042] Subject: Re: [PHP-DEV] PHPDBG nonsense (Was: Re: [PHP-CVS] com php-src: Made phpdbg compatible with new engine: ...) From: bobwei9@hotmail.com (Weinand Bob) Just a minor question, Derick. If you care about phpdbg, why are you = only dropping any comment about it by the time it got into php-src repo? = It=E2=80=99s known that all the development currently (except for = master, but that just was a merge and then a pure rewrite on top of that = merge, nothing related to the protocol) is going on in krakjoe/phpdbg = github repo. There was now an xml-protocol branch for three weeks before = it got merged into krakjoe/phpdbg#master. You had vast time to notice it = and complain before, if you=E2=80=99d really have cared. To reply to your question: why not use another debugger protocol? I had first really looked for other protocols, but none really fitted = our needs. There was just DBGp which approximated our needs. At the beginning I had tried to implement a slightly modified variant of = DBGp, but it accumulated minor differences here and there=E2=80=A6 And = that then doesn=E2=80=99t make much sense again. That was the time where we decided to implement our own protocol. Before you ask, an incomplete list of such differences: - connecting: phpdbg is the server, not the client (as opposed to what = DBGp requires) - no need for the proxy thing - breakpoints: we have an opline-wise breaking (I have no idea, but = maybe an IDE might want to break before the fcall is done) doesn=E2=80=99t= fit into current list of attributes - It is under some circumstances possible to not be able to provide a = full response (e.g. we=E2=80=99ve done a hard interrupt (that means, = instant, asynchronous interrupt, even when engine is in control of it)) = - DBGp provides no mechanism to handle it - stdout, stderr commands also don=E2=80=99t really work with phpdbg =E2=80= =94 it=E2=80=99s always redirect mode - =E2=80=A6 Further, but not the main reason why we didn=E2=80=99t use it, we=E2=80=99= d have had to implement another commands lexer, parser and interpreter = alongside our current commands. DBGp commands aren=E2=80=99t exactly = user-friendly; they=E2=80=99re designed to be used by a machine. It made the whole implementation a lot easier to not use a fork of DBGp = adapted to our needs. (at the time we realized we couldn=E2=80=99t = really use DBGp) So, we=E2=80=99ve introduced a new protocol. I didn=E2=80=99t try to = make a protocol compatible with any future debugger; each debugger has a = bit his special needs and you cannot suit everyones needs. Bob p.s.: And yes, PhpStorm was involved, a huge thanks to them for the = precious feedback they=E2=80=99ve given me for the last three weeks. > Am 25.10.2014 um 11:45 schrieb Pierre Joye : >=20 > On Sat, Oct 25, 2014 at 4:39 PM, Joe Watkins = wrote: >=20 >> Pierre, >>=20 >> I wasn't involved in the conversations during it's development = very >> much. You will have to wait for bob or someone from the phpstorm team = to >> fill in the blanks. Suffice to say that they found a reason to work = on a >> new protocol, details I don't know. >>=20 >> It had it's own remote protocol when it was merged, but it = turned out >> to be pretty useless for those people interested in using it = remotely. >>=20 >> This is only a development of that original feature. >>=20 >> I of course recognize that we are in some sense representative = of the >> PHP project, however, we are talking about words like awesomesauce, = not >> profanity, or anything offensive whatever. >>=20 >> Bob done all the work on this, in record time. It's totally = crappy that >> he'll wake up today to this nonsense, he should be feeling pleased = with >> himself. He worked very hard on it. >=20 > Cannot agree more. I very much like phpdbg and really appreciate all > the aweome work you guys have put in it. I am only trying to > understand this whole protocol thing, in the most objecitve way :). I > did not know phpstorm was involved either, that makes me feel better > about it. They know very well what is needed and have a very large > experience in this area. I am convinced things will be clear soon :) >=20 > --=20 > Pierre >=20 > @pierrejoye | http://www.libgd.org