1. 01 7月, 2022 1 次提交
  2. 27 4月, 2022 1 次提交
    • T
      [wasm][debugger] Debug on firefox (#61776) · a970720f
      Thays Grazia 提交于
      * First compiling and working version just proxying messages.
      
      * almost working, already showing the cs files
      
      * Working on firefox.
      
      * Use internal e not public.
      
      * Debugging on firefox working.
      
      * Working after the merge
      
      * Keep the TcpListener open and use a random port.
      
      * Show null value.
      
      * - Show JS Callstack
      - Skip properties
      - Get array value from evaluateAsyncJS and not use the preview value.
      
      * Fix compilation
      
      * Infrastructure to run debugger tests.
      
      * fix merge
      
      * run test.
      
      * Skipping tests that are not passing on Firefox.
      
      * Skipping tests that are not passing on Firefox.
      
      * Passing 13 steppingtests.
      
      * Passing 13 steppingtests.
      
      * Passing 13 steppingtests.
      
      * Failed:     0, Passed:    39, Skipped:   203, Total:   242, Duration: 5 m 6 s - DebuggerTestSuite.dll (net6.0)
      
      * Failed:     0, Passed:    66, Skipped:   195, Total:   261, Duration: 9 m 29 s - DebuggerTestSuite.dll (net6.0)
      
      * Using ConditionalTheory and ConditionalFact implemented by @radical.
      
      * Fixing side effect.
      
      * Implemented conditional breakpoints.
      Failed:     0, Passed:    74, Skipped:   189, Total:   263, Duration: 8 m 41 s - DebuggerTestSuite.dll (net6.0)
      
      * Fix special characters and pointers.
      
      Failed:     0, Passed:   116, Skipped:   177, Total:   293
      
      * Fix merge
      
      * Run debugger-tests on firefox using codespace
      
      * Starting firefox correctly not stopping in the breakpoint yet.
      
      * Remove unnecessary change
      
      * Fix pause behavior (now showing correctly, pause on breakpoint, pause while stepping)
      Start implementing evaluate expressions, working correctly on VSCode.
      
      * Fix local tests.
      
      * Fix missing )
      
      * Passing 190 tests, evaluate expressions working.
      
      * Remove Task.Delays.
      Move some attributes from FirefoxMonoProxy to FirefoxExecutionContext.
      
      * Fix container creation
      
      * Trying to run firefox tests on CI.
      
      * Moving file to the right place.
      
      * Trying to run debugger-tests using firefox on CI.
      
      * fixing path
      
      * Missing url to download firefox on helix.
      
      * On run the tests only on linux.
      
      * Trying to download firefox on helix.
      
      * fix error on helix-wasm.targets.
      
      * trying to fix ci
      
      * trying to install firefox on helix.
      
      * Fixing firefox path
      
      * Fix debugger tests on firefox
      
      * fixing profile path
      
      * Install libdbus-glib-1-2 on docker and on codespace
      
      * Trying to run using firefox on CI
      
      * update docker image
      
      * Adding more messages to see errors on CI
      
      * Trying to make it work on CI
      
      * Real test on CI
      
      * Trying to use the firefox machine only to run firefox tests
      Retrying connection to Proxy
      Remove extra messages added to help to fix CI
      
      * Fix CI
      
      * Fix CI
      
      * Fix CI.
      
      * Remove unnecessary changes.
      
      * Using machine with sudo installed
      
      * Addressing @lewing comments
      
      * Fix run tests on codespace
      Using image with python3
      
      * Use default image to build and new image only to run firefox tests
      
      * Fix unrelated change
      
      * Fix ci
      
      * check python version
      
      * Print python versions
      
      * Using image with PIP installed
      
      * Using image with pip updated
      
      * Remove unrelated changes
      Increase time to wait for firefox to be ready
      
      * Trying to fix evaluate tests.
      
      * Fix evaluateoncallframe tests
      
      * Trying to fix evaluation tests.
      
      * trying to fix evaluateoncallframetests
      
      * fiz evaluateoncallframetests
      
      * Trying to kill firefox to avoid errors.
      
      * Trying to fix EvaluateOnCallFrameTests
      
      * Fix CI
      
      * Remove failing test
      
      * Fix misctests
      
      * Fix other build errors.
      
      * Trying to fix CI.
      
      * Fix CI
      
      * Remove unecessary message.
      
      * Update src/tests/BuildWasmApps/Wasm.Debugger.Tests/Wasm.Debugger.Tests.csproj
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Addressing @radical comments
      
      * Merge error while accept @radical suggestion
      
      * Merge error while accept @radical suggestion
      
      * Update src/mono/wasm/debugger/BrowserDebugProxy/DebugStore.cs
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Apply suggestions from code review
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Addressing @radical comments
      
      * Abort the tcp connection if the proxy throws an exception
      
      * Refactor a bit
      
      * Use more compile time checks for chrome vs firefox
      
      * fix pipeline
      
      * Make debugger job names unique by including the browser
      
      * fix runtime-wasm pipeline
      
      * fix firefox ci job
      
      * split into more files
      
      * cleanup
      
      * Add support for running chrome, and firefox tests in the same job
      
      * fix yml
      
      * fix build
      
      * fix build
      
      * fix windows build
      
      * Don't delete profile folder nor pkill firefox
      
      * Delete and create a new profile folder for each execution
      
      * fix helix command line
      
      * [wasm][debugger] Fix tests broken on 'main'
      
      This test broke because it was checking for the number of members on
      `System.TimeSpan`, and that changed with
      https://github.com/dotnet/runtime/pull/67666 , which added new members
      like `TotalNanoseconds`.
      
      The test shouldn't depend on this number anyway, so remove that.
      
      ```
        Failed DebuggerTests.MiscTests.InspectLocalsForToStringDescriptions(line: 137, col: 12, method_name: "MethodWithLocalsForToStringTest", call_other: False, invoke_async: False) [758 ms]
        Error Message:
         [ts_props] Number of fields don't match, Expected: 12, Actual: 16
      Expected: True
      Actual:   False
        Stack Trace:
           at DebuggerTests.DebuggerTestBase.CheckProps(JToken actual, Object exp_o, String label, Int32 num_fields) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 800
         at DebuggerTests.DebuggerTestBase.CompareObjectPropertiesFor(JToken locals, String name, Object o, String label, Int32 num_fields) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 908
         at DebuggerTests.MiscTests.InspectLocalsForToStringDescriptions(Int32 line, Int32 col, String method_name, Boolean call_other, Boolean invoke_async) in /_/src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs:line 559
      ```
      
      * wip
      
      * big refactor
      
      * chrome runs
      
      * ff runs
      
      * ff runs
      
      * cleanup
      
      * cleanup
      
      * cleanup
      
      * change console verbosity to info, for proxy
      
      * More refactoring
      
      * More refactoring, and fix some issues with connections, and other
      cleanup
      
      * some cleanup
      
      * fix file name
      
      * Improve cleanup after tests
      
      * some refactoring, fixing some hangs, faster failures etc
      
      * Fix BrowserCrash test for chrome
      
      * fix up logging
      
      * Improve error handling for the proxy running independently
      
      * fix debugging from vscode
      
      * proxy host: add --log-path for logs
      
      * support canceling for the proxy host too, and distinguish different instances of the proxy
      
      * Fix debugger after refreshing the debugged page.
      
      * Fixing chrome debugging.
      
      * Fix startup to work on chrome and also on firefox.
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      a970720f
  3. 03 2月, 2022 1 次提交
    • T
      [wasm][debugger] Implement support to Set Next Instruction Pointer. (#64114) · e696cbae
      Thays Grazia 提交于
      * Implement Set Next Instruction Pointer.
      
      * Addressing @radical comments.
      
      * Checking if the line number is inside the same function.
      Adding test for it.
      Adding test for moving the IP to a line that has already a breakpoint.
      
      * Creating tests in async function and lambda as suggested by @radical
      
      * Addressing @radical comments.
      
      * Addressing @radical comments offline
      
      * Adding comment to explain dual invocations.
      
      * Removing unnecessary code.
      
      * Addressing @radical comments.
      
      * Update src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Addressing @radical comments.
      
      * Apply suggestions from code review
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Removing unnecessary code.Addressing @radical comments.
      
      * Addressing @radical comments.
      
      * Added test as suggested offline by @radical
      
      * Creating tests as suggested by @radical.
      
      * Adding test as suggested by @radical.
      Fixing behavior of this new test: moving IP to a nested function.
      
      * Changing order in test.
      
      * Creating new test suggested by @radical.
      
      * Update src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Addressing @radical comments.
      
      * Addressing @radical comments.
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      e696cbae