Tests stepping through wasm scripts with source maps
Installing code an global variable and instantiate.
Got wasm script: wasm-9b4bf87e
Script sourceMapURL: abc
Requesting source for wasm-9b4bf87e...
Source retrieved without error: true
Setting breakpoint on offset 54 (on the setlocal before the call), url wasm-9b4bf87e
{
    columnNumber : 54
    lineNumber : 0
    scriptId : <scriptId>
}
Paused at wasm-9b4bf87e:0:54
at wasm_B (0:54):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":4}
   stack: {"0":3}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:56
at wasm_B (0:56):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":3}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:38
at wasm_A (0:38):
 - scope (global):
   -- skipped
 - scope (local):
   stack: {}
at wasm_B (0:56):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":3}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepOver called
Paused at wasm-9b4bf87e:0:39
at wasm_A (0:39):
 - scope (global):
   -- skipped
 - scope (local):
   stack: {}
at wasm_B (0:56):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":3}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepOut called
Paused at wasm-9b4bf87e:0:58
at wasm_B (0:58):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":3}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepOut called
Paused at wasm-9b4bf87e:0:54
at wasm_B (0:54):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":3}
   stack: {"0":2}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepOver called
Paused at wasm-9b4bf87e:0:56
at wasm_B (0:56):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":2}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepOver called
Paused at wasm-9b4bf87e:0:58
at wasm_B (0:58):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":2}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.resume called
Paused at wasm-9b4bf87e:0:54
at wasm_B (0:54):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":2}
   stack: {"0":1}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:56
at wasm_B (0:56):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":1}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:38
at wasm_A (0:38):
 - scope (global):
   -- skipped
 - scope (local):
   stack: {}
at wasm_B (0:56):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":1}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepOut called
Paused at wasm-9b4bf87e:0:58
at wasm_B (0:58):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":1}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:43
at wasm_B (0:43):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":1}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:45
at wasm_B (0:45):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":1}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:47
at wasm_B (0:47):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":1}
   stack: {"0":1}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:49
at wasm_B (0:49):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":1}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:51
at wasm_B (0:51):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":1}
   stack: {"0":1}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:53
at wasm_B (0:53):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":1}
   stack: {"0":1,"1":1}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:54
at wasm_B (0:54):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":1}
   stack: {"0":0}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:56
at wasm_B (0:56):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":0}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:38
at wasm_A (0:38):
 - scope (global):
   -- skipped
 - scope (local):
   stack: {}
at wasm_B (0:56):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":0}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:39
at wasm_A (0:39):
 - scope (global):
   -- skipped
 - scope (local):
   stack: {}
at wasm_B (0:56):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":0}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:40
at wasm_A (0:40):
 - scope (global):
   -- skipped
 - scope (local):
   stack: {}
at wasm_B (0:56):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":0}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.stepInto called
Paused at wasm-9b4bf87e:0:58
at wasm_B (0:58):
 - scope (global):
   -- skipped
 - scope (local):
   locals: {"arg#0":0}
   stack: {}
at (anonymous) (0:17):
 - scope (global):
   -- skipped
Debugger.resume called
exports.main returned!
Finished!
