Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
e10c2dc
First compiling and working version just proxying messages.
thaystg Oct 15, 2021
d598dd8
almost working, already showing the cs files
thaystg Oct 21, 2021
c92571e
Merge branch 'dotnet:main' into debug_on_firefox
thaystg Nov 5, 2021
f7e912f
Working on firefox.
thaystg Nov 5, 2021
09651b6
merge
thaystg Nov 5, 2021
f771c08
Use internal e not public.
thaystg Nov 5, 2021
260f6bb
Merge branch 'dotnet:main' into debug_on_firefox
thaystg Nov 16, 2021
2f864b3
merge
thaystg Nov 16, 2021
79e5287
Debugging on firefox working.
thaystg Nov 18, 2021
45145b0
Merge remote-tracking branch 'origin/main' into debug_on_firefox
thaystg Nov 18, 2021
4385ea2
Working after the merge
thaystg Nov 18, 2021
dddb671
Keep the TcpListener open and use a random port.
thaystg Nov 18, 2021
fa407b3
Show null value.
thaystg Nov 18, 2021
9bce161
- Show JS Callstack
thaystg Nov 22, 2021
f0108c5
Merge branch 'main' into debug_on_firefox
thaystg Feb 7, 2022
9702467
Fix compilation
thaystg Feb 7, 2022
e899795
Infrastructure to run debugger tests.
thaystg Feb 17, 2022
4ae5d1f
Merge branch 'main' into debug_on_firefox
thaystg Feb 17, 2022
9941f61
fix merge
thaystg Feb 17, 2022
4747240
run test.
thaystg Feb 17, 2022
f1edaf2
Skipping tests that are not passing on Firefox.
thaystg Feb 18, 2022
aac99db
Skipping tests that are not passing on Firefox.
thaystg Feb 18, 2022
e8643d7
Passing 13 steppingtests.
thaystg Feb 21, 2022
7027682
Passing 13 steppingtests.
thaystg Feb 21, 2022
9f62d55
Passing 13 steppingtests.
thaystg Feb 21, 2022
264ef45
Failed: 0, Passed: 39, Skipped: 203, Total: 242, Duration:…
thaystg Feb 22, 2022
8de94c0
Failed: 0, Passed: 66, Skipped: 195, Total: 261, Duration:…
thaystg Feb 23, 2022
763ee28
Merge remote-tracking branch 'origin/main' into debug_on_firefox
thaystg Feb 23, 2022
8d0df7f
Using ConditionalTheory and ConditionalFact implemented by @radical.
thaystg Feb 23, 2022
3fb4485
Fixing side effect.
thaystg Feb 23, 2022
f2fea14
Implemented conditional breakpoints.
thaystg Feb 25, 2022
1d24199
Fix special characters and pointers.
thaystg Feb 25, 2022
c0a7ad8
Merge remote-tracking branch 'origin/main' into HEAD
thaystg Mar 3, 2022
414cf84
Fix merge
thaystg Mar 4, 2022
78ccf7d
Run debugger-tests on firefox using codespace
thaystg Mar 4, 2022
2ba3858
Starting firefox correctly not stopping in the breakpoint yet.
thaystg Mar 4, 2022
bc40911
Remove unnecessary change
thaystg Mar 4, 2022
8e336e6
Fix pause behavior (now showing correctly, pause on breakpoint, pause…
thaystg Mar 10, 2022
a61e054
Merge branch 'debug_on_firefox' of github.com:thaystg/runtime into de…
thaystg Mar 14, 2022
893eb93
Fix local tests.
thaystg Mar 14, 2022
4328f2e
Fix missing )
thaystg Mar 14, 2022
2eb365f
Passing 190 tests, evaluate expressions working.
thaystg Mar 14, 2022
ff32a09
Merge remote-tracking branch 'origin/main' into debug_on_firefox
thaystg Mar 15, 2022
2ea4c11
Remove Task.Delays.
thaystg Mar 15, 2022
6e5bbcb
Fix container creation
thaystg Mar 16, 2022
ece9464
Trying to run firefox tests on CI.
thaystg Mar 16, 2022
04709f9
Moving file to the right place.
thaystg Mar 16, 2022
7b56aff
Trying to run debugger-tests using firefox on CI.
thaystg Mar 16, 2022
2c6d5a0
fixing path
thaystg Mar 16, 2022
bd0f5f9
Missing url to download firefox on helix.
thaystg Mar 16, 2022
ef89267
On run the tests only on linux.
thaystg Mar 16, 2022
9cacda0
Trying to download firefox on helix.
thaystg Mar 16, 2022
11e4541
fix error on helix-wasm.targets.
thaystg Mar 16, 2022
3ee2e71
trying to fix ci
thaystg Mar 16, 2022
24c2c3a
trying to install firefox on helix.
thaystg Mar 17, 2022
5e9cb08
Fixing firefox path
thaystg Mar 17, 2022
00cd17b
Fix debugger tests on firefox
thaystg Mar 17, 2022
ad5638f
fixing profile path
thaystg Mar 17, 2022
333eb08
Install libdbus-glib-1-2 on docker and on codespace
thaystg Mar 18, 2022
6c1a192
Merge remote-tracking branch 'thaystg/main' into pr/thaystg/61776
thaystg Mar 22, 2022
a489225
Trying to run using firefox on CI
thaystg Mar 23, 2022
f2e3051
update docker image
thaystg Mar 29, 2022
16f1135
Merge remote-tracking branch 'origin/main' into debug_on_firefox
thaystg Mar 29, 2022
b647188
Adding more messages to see errors on CI
thaystg Mar 30, 2022
f8708c0
Trying to make it work on CI
thaystg Mar 30, 2022
313ec7b
Real test on CI
thaystg Apr 5, 2022
54f2350
Trying to use the firefox machine only to run firefox tests
thaystg Apr 5, 2022
cce27bf
Fix CI
thaystg Apr 6, 2022
2e33511
Fix CI
thaystg Apr 6, 2022
b67866d
Fix CI.
thaystg Apr 6, 2022
61a4134
Remove unnecessary changes.
thaystg Apr 6, 2022
69e3f14
Using machine with sudo installed
thaystg Apr 7, 2022
7167698
Addressing @lewing comments
thaystg Apr 7, 2022
4a94caf
Merge remote-tracking branch 'origin/main' into debug_on_firefox
thaystg Apr 7, 2022
0e945d7
Fix run tests on codespace
thaystg Apr 7, 2022
62ba428
Use default image to build and new image only to run firefox tests
thaystg Apr 7, 2022
d659c7e
Fix unrelated change
thaystg Apr 7, 2022
139c99b
Fix ci
thaystg Apr 7, 2022
2772881
check python version
thaystg Apr 7, 2022
036cdad
Print python versions
thaystg Apr 7, 2022
7a129d4
Using image with PIP installed
thaystg Apr 8, 2022
7563fc0
Using image with pip updated
thaystg Apr 8, 2022
4808df4
Remove unrelated changes
thaystg Apr 8, 2022
f42996d
Trying to fix evaluate tests.
thaystg Apr 8, 2022
c4f037b
Fix evaluateoncallframe tests
thaystg Apr 9, 2022
9ac40e2
Trying to fix evaluation tests.
thaystg Apr 9, 2022
6556737
trying to fix evaluateoncallframetests
thaystg Apr 9, 2022
5701a1b
fiz evaluateoncallframetests
thaystg Apr 9, 2022
fc8c3a4
Trying to kill firefox to avoid errors.
thaystg Apr 11, 2022
1e53470
Trying to fix EvaluateOnCallFrameTests
thaystg Apr 11, 2022
c82089b
Fix CI
thaystg Apr 11, 2022
1c3422b
Remove failing test
thaystg Apr 11, 2022
81533b9
Fix misctests
thaystg Apr 11, 2022
d285e8a
Fix other build errors.
thaystg Apr 12, 2022
38a447c
Trying to fix CI.
thaystg Apr 12, 2022
97dd69f
Fix CI
thaystg Apr 12, 2022
7849fc8
Remove unecessary message.
thaystg Apr 12, 2022
da325e1
Update src/tests/BuildWasmApps/Wasm.Debugger.Tests/Wasm.Debugger.Test…
thaystg Apr 13, 2022
b40fc28
Addressing @radical comments
thaystg Apr 13, 2022
17c8178
Merge branch 'main' into debug_on_firefox
thaystg Apr 13, 2022
db88f32
Merge error while accept @radical suggestion
thaystg Apr 13, 2022
e07b93d
Merge error while accept @radical suggestion
thaystg Apr 13, 2022
16e2bdb
Update src/mono/wasm/debugger/BrowserDebugProxy/DebugStore.cs
thaystg Apr 13, 2022
047fdd8
Apply suggestions from code review
thaystg Apr 13, 2022
9d5fc91
Addressing @radical comments
thaystg Apr 13, 2022
90378e4
Abort the tcp connection if the proxy throws an exception
radical Apr 13, 2022
c689e35
Refactor a bit
radical Apr 14, 2022
4b759b8
Use more compile time checks for chrome vs firefox
radical Apr 14, 2022
f3f1e12
fix pipeline
radical Apr 14, 2022
ada03eb
Make debugger job names unique by including the browser
radical Apr 14, 2022
0a3cc1b
Merge remote-tracking branch 'origin/main' into debug_on_firefox
radical Apr 14, 2022
603f98d
fix runtime-wasm pipeline
radical Apr 14, 2022
b62bcc3
fix firefox ci job
radical Apr 14, 2022
f1ab005
split into more files
radical Apr 14, 2022
92c6335
Merge remote-tracking branch 'origin/main' into debug_on_firefox
radical Apr 14, 2022
fdf544b
cleanup
radical Apr 14, 2022
69ca9ec
Add support for running chrome, and firefox tests in the same job
radical Apr 14, 2022
53630d9
fix yml
radical Apr 14, 2022
55b1756
fix build
radical Apr 14, 2022
ceee615
fix build
radical Apr 14, 2022
4006e2a
fix windows build
radical Apr 14, 2022
868c0a3
Don't delete profile folder nor pkill firefox
thaystg Apr 14, 2022
24cd9a9
Delete and create a new profile folder for each execution
thaystg Apr 14, 2022
dc557a5
fix helix command line
radical Apr 14, 2022
79c9fde
[wasm][debugger] Fix tests broken on 'main'
radical Apr 14, 2022
d999f29
Merge remote-tracking branch 'origin/main' into debug_on_firefox
radical Apr 14, 2022
ffd95d8
wip
radical Apr 14, 2022
4317edc
big refactor
radical Apr 15, 2022
3292593
chrome runs
radical Apr 15, 2022
923cb58
ff runs
radical Apr 15, 2022
8b0a204
ff runs
radical Apr 15, 2022
f687edd
Merge remote-tracking branch 'origin/main' into debug_on_firefox
radical Apr 15, 2022
adbbe22
cleanup
radical Apr 15, 2022
9442956
cleanup
radical Apr 15, 2022
128ffe1
cleanup
radical Apr 15, 2022
8dadeda
change console verbosity to info, for proxy
radical Apr 15, 2022
b287881
More refactoring
radical Apr 15, 2022
6e56ffb
Merge remote-tracking branch 'origin/main' into thays/debug_on_firefox
radical Apr 18, 2022
73f2923
Merge remote-tracking branch 'origin/main' into thays/debug_on_firefox
radical Apr 19, 2022
5eaad18
More refactoring, and fix some issues with connections, and other
radical Apr 19, 2022
5cb04d1
some cleanup
radical Apr 19, 2022
e73f107
fix file name
radical Apr 19, 2022
3309156
Improve cleanup after tests
radical Apr 19, 2022
4802608
Merge remote-tracking branch 'origin/main' into upstream-debug_on_fir…
radical Apr 21, 2022
6f2e6a4
Merge remote-tracking branch 'origin/main' into upstream-debug_on_fir…
radical Apr 22, 2022
913e877
some refactoring, fixing some hangs, faster failures etc
radical Apr 22, 2022
d4167e3
Merge remote-tracking branch 'origin/main' into thays/debug_on_firefox
radical Apr 22, 2022
d56a9d6
Fix BrowserCrash test for chrome
radical Apr 22, 2022
fcd0953
Merge remote-tracking branch 'origin/main' into thays/debug_on_firefox
radical Apr 22, 2022
09d62d2
fix up logging
radical Apr 22, 2022
4a84b86
Improve error handling for the proxy running independently
radical Apr 22, 2022
d78dc45
fix debugging from vscode
radical Apr 22, 2022
d2e10b2
proxy host: add --log-path for logs
radical Apr 22, 2022
a2ab855
support canceling for the proxy host too, and distinguish different i…
radical Apr 22, 2022
bbfc27f
Merge remote-tracking branch 'origin/main' into debug_on_firefox
thaystg Apr 25, 2022
bb2659e
Fix debugger after refreshing the debugged page.
thaystg Apr 25, 2022
9a3a335
Fixing chrome debugging.
thaystg Apr 25, 2022
96c4197
Fix startup to work on chrome and also on firefox.
thaystg Apr 25, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix pause behavior (now showing correctly, pause on breakpoint, pause…
… while stepping)

Start implementing evaluate expressions, working correctly on VSCode.
  • Loading branch information
thaystg committed Mar 10, 2022
commit 8e336e6c6824a747a436fd950d3aa419fc467f79
20 changes: 17 additions & 3 deletions src/mono/wasm/debugger/BrowserDebugProxy/DevToolsHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,11 @@ public struct Result
{
public JObject Value { get; private set; }
public JObject Error { get; private set; }
public JObject FullContent { get; private set; }

public bool IsOk => Error == null;

private Result(JObject resultOrError, bool isError)
private Result(JObject resultOrError, bool isError, JObject fullContent = null)
{
bool resultHasError = isError || string.Equals((resultOrError?["result"] as JObject)?["subtype"]?.Value<string>(), "error");
if (resultHasError)
Expand All @@ -140,6 +141,7 @@ private Result(JObject resultOrError, bool isError)
Value = resultOrError;
Error = null;
}
FullContent = fullContent;
}
public static Result FromJson(JObject obj)
{
Expand Down Expand Up @@ -214,9 +216,9 @@ public static Result FromJsonFirefox(JObject obj)
bool resultHasError = obj["hasException"] != null && obj["hasException"].Value<bool>();
if (resultHasError)
{
return new Result(obj["hasException"]["result"] as JObject, resultHasError);
return new Result(obj["exception"] as JObject, resultHasError, obj);
}
return new Result(o, false);
return new Result(o, false, obj);
}

public static Result Ok(JObject ok) => new Result(ok, false);
Expand Down Expand Up @@ -390,6 +392,13 @@ public ExecutionContext(MonoSDBHelper sdbAgent, int id, object auxData)
public bool IsResumedAfterBp { get; set; }
public int ThreadId { get; set; }
public int Id { get; set; }

private int evaluateExpressionResultId;

public bool PausedOnWasm { get; set; }

public string PauseKind { get; set; }

public object AuxData { get; set; }

public PauseOnExceptionsKind PauseOnExceptions { get; set; }
Expand All @@ -416,6 +425,11 @@ public DebugStore Store
}
}

public int GetResultID()
{
return Interlocked.Increment(ref evaluateExpressionResultId);
}

public PerScopeCache GetCacheForScope(int scopeId)
{
if (perScopeCaches.TryGetValue(scopeId, out PerScopeCache cache))
Expand Down
113 changes: 98 additions & 15 deletions src/mono/wasm/debugger/BrowserDebugProxy/FirefoxMonoProxy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ internal class FirefoxMonoProxy : MonoProxy
private int portBrowser;
private TcpClient ide;
private TcpClient browser;
private bool pausedOnWasm;
private string actorName = "";
private string threadName = "";
private string globalName = "";
Expand Down Expand Up @@ -204,7 +203,8 @@ internal override async Task OnCommand(MessageId id, JObject parms, Cancellation
{
if (!await AcceptCommand(id, parms, token))
{
await SendCommandInternal(id, parms["type"]?.Value<string>(), parms, token);
var ret = await SendCommandInternal(id, parms["type"]?.Value<string>(), parms, token);
await SendEvent(id, "", ret.FullContent, token);
}
}
catch (Exception e)
Expand Down Expand Up @@ -273,8 +273,10 @@ internal override Task ProcessBrowserMessage(string msg, CancellationToken token
{
var id = int.Parse(res["resultID"].Value<string>().Split('-')[1]);
var msgId = new MessageIdFirefox(null, id + 1, "");

OnResponse(msgId, Result.FromJsonFirefox(res));
if (pending_cmds.ContainsKey(msgId))
OnResponse(msgId, Result.FromJsonFirefox(res));
else
return SendCommandInternal(msgId, "", res, token);
return null;
}
//{"type":"evaluationResult","resultID":"1634575904746-0","hasException":false,"input":"ret = 10","result":10,"startTime":1634575904746,"timestamp":1634575904748,"from":"server1.conn21.child10/consoleActor2"}
Expand Down Expand Up @@ -372,17 +374,18 @@ protected override async Task<bool> AcceptEvent(SessionId sessionId, JObject arg
{
case "paused":
{
ExecutionContext ctx = GetContext(sessionId);
var topFunc = args["frame"]["displayName"].Value<string>();
switch (topFunc)
{
case "mono_wasm_fire_debugger_agent_message":
case "_mono_wasm_fire_debugger_agent_message":
{
pausedOnWasm = true;
ctx.PausedOnWasm = true;
return await OnReceiveDebuggerAgentEvent(sessionId, args, token);
}
default:
pausedOnWasm = false;
ctx.PausedOnWasm = false;
return false;
}
}
Expand All @@ -392,6 +395,15 @@ protected override async Task<bool> AcceptEvent(SessionId sessionId, JObject arg
var messages = args["resources"].Value<JArray>();
foreach (var message in messages)
{
if (message["resourceType"].Value<string>() == "thread-state" && message["state"].Value<string>() == "paused")
{
ExecutionContext ctx = GetContext(sessionId);
if (ctx.PausedOnWasm)
{
await SendPauseToBrowser(sessionId, args, token);
return true;
}
}
if (message["resourceType"].Value<string>() != "console-message")
continue;
var messageArgs = message["message"]?["arguments"]?.Value<JArray>();
Expand Down Expand Up @@ -428,6 +440,7 @@ protected override async Task<bool> AcceptCommand(MessageId sessionId, JObject a
{
if (!contexts.TryGetValue(sessionId, out ExecutionContext context))
return false;
context.PausedOnWasm = false;
if (context.CallStack == null)
return false;
if (args["resumeLimit"] == null || args["resumeLimit"].Type == JTokenType.Null)
Expand Down Expand Up @@ -521,12 +534,6 @@ protected override async Task<bool> AcceptCommand(MessageId sessionId, JObject a
Log("verbose", $"BP req {args}");
await SetBreakpoint(sessionId, store, request, !loaded, token);
}

var o = JObject.FromObject(new
{
from = args["to"].Value<string>()
});
//SendEventInternal(id, "", o, token);
return true;
}
case "removeBreakpoint":
Expand Down Expand Up @@ -664,11 +671,11 @@ protected override async Task<bool> AcceptCommand(MessageId sessionId, JObject a
}
case "frames":
{
if (pausedOnWasm)
ExecutionContext ctx = GetContext(sessionId);
if (ctx.PausedOnWasm)
{
try
{
ExecutionContext ctx = GetContext(sessionId);
await GetFrames(sessionId, ctx, args, token);
return true;
}
Expand All @@ -678,8 +685,56 @@ protected override async Task<bool> AcceptCommand(MessageId sessionId, JObject a
return true;
}
}
//var ret = await SendCommand(sessionId, "frames", args, token);
//await SendEvent(sessionId, "", ret.Value["result"]["fullContent"] as JObject, token);
return false;
}
case "evaluateJSAsync":
{
ExecutionContext context = GetContext(sessionId);
if (context.CallStack != null)
{
var resultID = $"runtimeResult-{context.GetResultID()}";
var o = JObject.FromObject(new
{
resultID,
from = args["to"].Value<string>()
});
await SendEvent(sessionId, "", o, token);

Frame scope = context.CallStack.First<Frame>();

var resolver = new MemberReferenceResolver(this, context, sessionId, scope.Id, logger);

JObject retValue = await resolver.Resolve(args?["text"]?.Value<string>(), token);
if (retValue == null)
{
retValue = await EvaluateExpression.CompileAndRunTheExpression(args?["text"]?.Value<string>(), resolver, token);
}
var osend = JObject.FromObject(new
{
type = "evaluationResult",
resultID,
hasException = false,
input = args?["text"],
result = retValue["value"],
from = args["to"].Value<string>()
});
await SendEvent(sessionId, "", osend, token);
}
else
{
var ret = await SendCommand(sessionId, "evaluateJSAsync", args, token);
var o = JObject.FromObject(new
{
resultID = ret.FullContent["resultID"],
from = args["to"].Value<string>()
});
await SendEvent(sessionId, "", o, token);
await SendEvent(sessionId, "", ret.FullContent, token);
}
return true;
}
case "DotnetDebugger.getMethodLocation":
{
var ret = await GetMethodLocation(sessionId, args, token);
Expand All @@ -693,6 +748,29 @@ protected override async Task<bool> AcceptCommand(MessageId sessionId, JObject a
return false;
}

private async Task<bool> SendPauseToBrowser(SessionId sessionId, JObject args, CancellationToken token)
{
Result res = await SendMonoCommand(sessionId, MonoCommands.GetDebuggerAgentBufferReceived(RuntimeId), token);
if (!res.IsOk)
return false;

ExecutionContext context = GetContext(sessionId);
byte[] newBytes = Convert.FromBase64String(res.Value?["result"]?["value"]?["value"]?.Value<string>());
using var retDebuggerCmdReader = new MonoBinaryReader(newBytes);
retDebuggerCmdReader.ReadBytes(11);
retDebuggerCmdReader.ReadByte();
var number_of_events = retDebuggerCmdReader.ReadInt32();
var event_kind = (EventKind)retDebuggerCmdReader.ReadByte();
if (event_kind == EventKind.Step)
context.PauseKind = "resumeLimit";
else if (event_kind == EventKind.Breakpoint)
context.PauseKind = "breakpoint";

args["resources"][0]["why"]["type"] = context.PauseKind;
await SendEvent(sessionId, "", args, token);
return true;
}

private JObject GetPrototype(DotnetObjectId objectId, JObject args)
{
var o = JObject.FromObject(new
Expand Down Expand Up @@ -874,7 +952,11 @@ protected override async Task<bool> SendCallStack(SessionId sessionId, Execution
await SendResume(sessionId, token);
return true;
}
return false;

args["why"]["type"] = context.PauseKind;

await SendEvent(sessionId, "", args, token);
return true;
}

protected async Task<bool> GetFrames(SessionId sessionId, ExecutionContext context, JObject args, CancellationToken token)
Expand Down Expand Up @@ -944,6 +1026,7 @@ protected async Task<bool> GetFrames(SessionId sessionId, ExecutionContext conte
frames = callFrames,
from = threadName
});

await SendEvent(sessionId, "", o, token);
return false;
}
Expand Down
4 changes: 4 additions & 0 deletions src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1081,6 +1081,10 @@ internal async Task<bool> OnReceiveDebuggerAgentEvent(SessionId sessionId, JObje
case EventKind.Step:
case EventKind.Breakpoint:
{
if (event_kind == EventKind.Step)
context.PauseKind = "resumeLimit";
else if (event_kind == EventKind.Breakpoint)
context.PauseKind = "breakpoint";
Breakpoint bp = context.BreakpointRequests.Values.SelectMany(v => v.Locations).FirstOrDefault(b => b.RemoteId == request_id);
if (request_id == context.TempBreakpointForSetNextIP)
{
Expand Down
2 changes: 1 addition & 1 deletion src/mono/wasm/debugger/DebuggerTestSuite/PointerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class PointerTests : DebuggerTests
{ $"invoke_static_method_async ('[debugger-test] DebuggerTests.PointerTests:LocalPointersAsync');", "DebuggerTests.PointerTests", "LocalPointersAsync", 32, "LocalPointersAsync", true }
};

[Theory]
[ConditionalTheory(nameof(RunningOnChrome))]
[MemberDataAttribute(nameof(PointersTestData))]
public async Task InspectLocalPointersToPrimitiveTypes(string eval_fn, string type, string method, int line_offset, string bp_function_name, bool use_cfo) => await CheckInspectLocalsAtBreakpointSite(
type, method, line_offset, bp_function_name,
Expand Down
2 changes: 1 addition & 1 deletion src/mono/wasm/runtime/debug.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ export function mono_wasm_send_dbg_command(id: number, command_set: number, comm
}

export function mono_wasm_get_dbg_command_info(): CommandResponseResult {
const { res_ok, res } = commands_received.remove(0);
const { res_ok, res } = commands_received.get(0);

if (!res_ok)
throw new Error("Failed on mono_wasm_get_dbg_command_info");
Expand Down