[webkit-dev] JavaScriptCore and the V8 debugger protocol

jamey.hicks at nokia.com jamey.hicks at nokia.com
Wed Mar 10 05:06:05 PST 2010


Hi Jonathan,

If you're only using JavaScriptCore, then it's probably better only to use support from the JavaScriptCore directory.

In terms of defining a debug protocol, you're right -- it would be helpful if  the debug portion of the protocol was focused on the javascript engines. WebCore is somewhat independent of javascript runtimes, so a debug protocol needs to work with both JavaScriptCore and V8 javascript runtimes at minimum.

Jamey

On Mar 9, 2010, at 6:23 PM, ext Fischoff, Jonathan wrote:

Hey Jamey,

Thanks for the links and explanation. I am still incredibly new to the codebase, but it looks like you have done much of what I need.

However, I am only using the JavaScriptCore portion of Webkit. I am under the impression the changes you made require WebCore to perform the remote debugging. Likewise, the trunk code is coupled similarly for local debugging.

I wonder if coupling the debugging helper classes for JSC with WebCore is ideal. It appears that ScriptDebugServer could be separated into portions that do not require WebCore, that would facilitate the building of a debugger for just JSC.

Since you are on the precipice of forming a consensus, it might be worth designing the remoting so it could be used at a lower level.

-Jonathan


From: jamey.hicks at nokia.com<mailto:jamey.hicks at nokia.com> [mailto:jamey.hicks at nokia.com]
Sent: Tuesday, March 09, 2010 5:31 AM
To: Fischoff, Jonathan
Cc: webkit-dev at lists.webkit.org<mailto:webkit-dev at lists.webkit.org>
Subject: Re: [webkit-dev] JavaScriptCore and the V8 debugger protocol

Hi Jonathan,

I've been working on remote debugging/profiling of webkit and I've been leveraging work that the webkit and chromium guys did to separate the Web Inspector frontend from backend.

I was actually thinking about sending email to the list this morning about agreeing on a remote/on-device protocol for debugging and profiling webkit.

It is possible to replace the javascript in the Web Inspector front-end in order to enable a remote connection to the Web Inspector backend. Once you do that, you can remotely debug, inspect, and profile your code.

I have made two prototypes enable remote debugging. In these two prototypes, I have used the Web Inspector UI running in Safari or WebKit on a desktop connected to the backend running in a webkit instance on another device. My first prototype was all implemented in C++ for qtwebkit. There is a patch with this code:

             Qt debug agent partially implementing ChromeDevTools and V8 debug protocol<https://bugs.webkit.org/attachment.cgi?id=48913> attached to https://bugs.webkit.org/show_bug.cgi?id=35016

Given the feedback on that set of patches, I've been working on a javascript debug agent with this patch to load alternate inspector javascript:
            https://bugs.webkit.org/show_bug.cgi?id=35340

I also did a partial implementation of the ChromeDevTools protocol and a V8Debug protocol adapter for JavaScriptCore.

In discussions with some of the Chromium guys, it sounds like they would like to move ChromeDevTools protocol closer to the internal protocol used by WebKit. I would like to see a stable inspection/profiling/debug protocol for WebKit and JavaScriptCore.

Best regards,
Jamey Hicks


On Mar 8, 2010, at 7:18 PM, ext Fischoff, Jonathan wrote:


I would like to control JavaScript execution in my app remotely using the V8 debugger protocol. Does anyone know if there exists code that implements and the V8 debugger protocol for JavaScriptCore?

My main goal is remotely debug JavaScript, so I am also wondering what other technologies exist for remotely debugging JavaScriptCore. Any ideas?

-Jonathan Fischoff
<ATT00001..txt>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20100310/92452263/attachment.html>


More information about the webkit-dev mailing list