diff options
author | Ankit Jain <radical@gmail.com> | 2020-05-14 18:48:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-14 18:48:51 +0300 |
commit | 1a022edfcb95b0e23bde81d887e23ade18ffde57 (patch) | |
tree | 97061ac614d1fa89ad5059ba8a5657df417a3237 /sdks/wasm/src/library_mono.js | |
parent | 13c5c4129e231324451e7253f5326eddce83500e (diff) |
[wasm][debugger] Clear valuetypes cache on Debugger.resume (#19778)
* [wasm][debugger] Clear valuetypes cache on Debugger.resume
- This fixes:
1. Check valuetype properties
2. Debugger.resume, over some code that updates that valuetype
3. That valuetype's properties show older values
* [wasm][debugger] Send mono_wasm_debugger_resume only if stopped on
.. a managed frame.
Diffstat (limited to 'sdks/wasm/src/library_mono.js')
-rw-r--r-- | sdks/wasm/src/library_mono.js | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/sdks/wasm/src/library_mono.js b/sdks/wasm/src/library_mono.js index 81639273224..e7bfa3c0daa 100644 --- a/sdks/wasm/src/library_mono.js +++ b/sdks/wasm/src/library_mono.js @@ -439,13 +439,21 @@ var MonoSupportLib = { } }, + _clear_per_step_state: function () { + this._next_value_type_id_var = 0; + this._value_types_cache = {}; + }, + + mono_wasm_debugger_resume: function () { + this._clear_per_step_state (); + }, + mono_wasm_start_single_stepping: function (kind) { console.log (">> mono_wasm_start_single_stepping " + kind); if (!this.mono_wasm_setup_single_step) this.mono_wasm_setup_single_step = Module.cwrap ("mono_wasm_setup_single_step", 'number', [ 'number']); - this._next_value_type_id_var = 0; - this._value_types_cache = {}; + this._clear_per_step_state (); return this.mono_wasm_setup_single_step (kind); }, @@ -455,8 +463,7 @@ var MonoSupportLib = { // DO NOT REMOVE - magic debugger init function console.debug ("mono_wasm_runtime_ready", "fe00e07a-5519-4dfe-b35a-f867dbaf2e28", JSON.stringify (this.loaded_files)); - this._next_value_type_id_var = 0; - this._value_types_cache = {}; + this._clear_per_step_state (); // FIXME: where should this go? this._next_call_function_res_id = 0; |