[Webkit-unassigned] [Bug 53003] Web Inspector: [JSC] implement setting breakpoints by line:column

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 26 06:21:37 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=53003





--- Comment #34 from Yury Semikhatsky <yurys at chromium.org>  2012-06-26 06:21:35 PST ---
(In reply to comment #32)
> (In reply to comment #31)
> > (From update of attachment 149490 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=149490&action=review
> > 
> > > Source/WebCore/bindings/js/ScriptDebugServer.cpp:136
> > > +    if (m_currentSourceID != sourceID) {
> > 
> > Can you explain how that is expected to work in case when you first stop in a script 1, then in a script 2 and again in the same line in script 1? It seems that in that case you will return the first column as the current one or am I missing something?
> > 
> The sourceID represents the code block of current callframe, if code block is changed, then it must starts from the first line.  
sourceID is a pointer to the corresponding SourceProvider which is shared between several functions/code blocks.

> > > Source/WebCore/bindings/js/ScriptDebugServer.cpp:157
> > > +    int nextColumn = codeInLine.find(";", m_currentStatementPosition.columnNumber);
> > 
> > You shouldn't be trying to parse the code here, instead JSC should be extended to report you current statement's column.
> > 
> It's a very big change to make JSC to provide current statement's column. Since JSC doesn't really insert break point, it just call interface of Debugger at entrance of Function or code-block. 
> And actually, the Debugger has enough info to calculate it.
I doubt it. E.g. how can you tell in ScriptDebugServer which column is going to be next in the following statement: "if (foo()) { bar(); } else { baz(); }" ?

> > > Source/WebCore/bindings/js/ScriptDebugServer.cpp:160
> > > +        if (c == ' ' || c == '\t')
> > 
> > What is the purpose of skipping first whitespace?
> For example, the column of second statement in "var a = 1;[white apace][white apace]...[white apace]var b=1;", the formatter of forntend assign it as 11.
I still don't understand that, we skip first whitespace and the statement now starts with 10 spaces?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list