[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