db24e2000a
This CL moves the code responsible for serializing a stack trace frame into a string, out of messages.cc and into stack-frame-info.cc. Instead of symbolizing the stack trace frame while serializing, the code is changed to work on top of StackTraceFrame and StackFrameInfo objects. The result is that the serialization code no longer cares when a stack trace frame is symbolized. Symbolization could happen eagerly during capturing, or lazily the first time any of StackFrameInfo fields are accessed. Drive-by: Existing users of StackFrameBase::ToString are adapted to the new SerializeStackTraceFrame API. This includes Isolate::PrintCurrentStackTrace, which is changed to re-use the existing capturing and serializing mechanism. Bug: v8:8742 Change-Id: Ic7fd80668c9d993e99d586ef7fe022850104c34f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631414 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62522}
123 lines
3.0 KiB
Plaintext
123 lines
3.0 KiB
Plaintext
Tests V8InspectorClient::resourceNameToUrl.
|
|
Check script with url:
|
|
{
|
|
method : Debugger.scriptParsed
|
|
params : {
|
|
endColumn : 16
|
|
endLine : 0
|
|
executionContextId : <executionContextId>
|
|
hasSourceURL : false
|
|
hash : 033b33d191ed51ed823355d865eb871d811403e2
|
|
isLiveEdit : false
|
|
isModule : false
|
|
length : 16
|
|
scriptId : <scriptId>
|
|
sourceMapURL :
|
|
startColumn : 0
|
|
startLine : 0
|
|
url : prefix://url
|
|
}
|
|
}
|
|
Check script with sourceURL comment:
|
|
{
|
|
method : Debugger.scriptParsed
|
|
params : {
|
|
endColumn : 37
|
|
endLine : 0
|
|
executionContextId : <executionContextId>
|
|
hasSourceURL : true
|
|
hash : 06c136ce206c5f505f32af524e6ec71b5baa0bbb
|
|
isLiveEdit : false
|
|
isModule : false
|
|
length : 37
|
|
scriptId : <scriptId>
|
|
sourceMapURL :
|
|
startColumn : 0
|
|
startLine : 0
|
|
url : foo.js
|
|
}
|
|
}
|
|
Check script failed to parse:
|
|
{
|
|
method : Debugger.scriptFailedToParse
|
|
params : {
|
|
endColumn : 15
|
|
endLine : 0
|
|
executionContextId : <executionContextId>
|
|
hasSourceURL : false
|
|
hash : 033b33d191ed51ed1f44cd0465eb871d811403e2
|
|
isModule : false
|
|
length : 15
|
|
scriptId : <scriptId>
|
|
sourceMapURL :
|
|
startColumn : 0
|
|
startLine : 0
|
|
url : prefix://url
|
|
}
|
|
}
|
|
Check script failed to parse with sourceURL comment:
|
|
{
|
|
method : Debugger.scriptFailedToParse
|
|
params : {
|
|
endColumn : 36
|
|
endLine : 0
|
|
executionContextId : <executionContextId>
|
|
hasSourceURL : true
|
|
hash : 23a2885951475580023e2a742563d78876d8f05e
|
|
isModule : false
|
|
length : 36
|
|
scriptId : <scriptId>
|
|
sourceMapURL :
|
|
startColumn : 0
|
|
startLine : 0
|
|
url : foo.js
|
|
}
|
|
}
|
|
Test runtime stack trace:
|
|
{
|
|
method : Runtime.consoleAPICalled
|
|
params : {
|
|
args : [
|
|
[0] : {
|
|
description : 42
|
|
type : number
|
|
value : 42
|
|
}
|
|
]
|
|
executionContextId : <executionContextId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 14
|
|
functionName : foo
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : prefix://url
|
|
}
|
|
[1] : {
|
|
columnNumber : 0
|
|
functionName : eval
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url : boo.js
|
|
}
|
|
[2] : {
|
|
columnNumber : 4
|
|
functionName :
|
|
lineNumber : 4
|
|
scriptId : <scriptId>
|
|
url : prefix://url
|
|
}
|
|
]
|
|
}
|
|
timestamp : <timestamp>
|
|
type : log
|
|
}
|
|
}
|
|
Test debugger stack trace:
|
|
[
|
|
[0] : prefix://url
|
|
[1] : boo.js
|
|
[2] : prefix://url
|
|
]
|