VSCode debug extension for probe-rs. It uses the MS DAP protocol to communicate directly with the probe (via probe-rs), and supports basic command line debugging in addition to VSCode UI.

Overview

VS Code probe-rs-debugger

Using probe-rs-debugger

  • Install the probe-rs-debugger extension in VS Code, by downloading the latest probe-rs-debugger-0.2.1.vsix from the Releases page in this repo (we will publish to the Microsoft Extension marketplace in due course)

    • Install the extension by running code --install-extension probe-rs-debugger-0.2.1.vsix in the terminal
    • To generate the extension ...(if you wish to update the version distributed with this repository)
      • Run yarn in the terminal to update all dependencies.
      • Package the extension with yarn package.
  • Install the probe-rs-debugger server component, using instructions from probe-rs-debugger

  • Configure your own VSCode project as per instructions below. This repo also contains a debug-example folder, with a fully functional Embedded Rust environment on a STM32H745ZI-Q Nucleo board.

    • If you install using the extension .vsix, then the example folder can be found your home directory, usually something like ~/.vscode/extensions/probe-rs.probe-rs-debugger-0.2.1/debug_example

probe-rs-debugger

Sample launch.json

", "runtimeExecutable": "probe-rs-debugger", "runtimeArgs": [ "debug", "--dap" ], "core_index": 0, "flashing_enabled": true, "reset_after_flashing": true, "halt_after_reset": true, "console_log_level": "Error" }, { "preLaunchTask": "${defaultBuildTask}", "type": "probe-rs-debug", "request": "attach", "name": "probe_rs Server Test", "server": "127.0.0.1:50001", "cwd": "${workspaceFolder}", "program_binary": "./target/thumbv7em-none-eabihf/debug/debugging_variables", "chip": "STM32H745ZITx", "connect_under_reset": true, "speed": 24000, // "probe": "PID:VID:", "core_index": 0, "flashing_enabled": true, "reset_after_flashing": true, "halt_after_reset": false, "console_log_level": "Info" } ] } ">
{
    "version": "0.2.0",
    "configurations": [
        {
            "preLaunchTask": "${defaultBuildTask}",
            "type": "probe-rs-debug",
            "request": "launch",
            "name": "probe_rs Executable Test",
            "cwd": "${workspaceFolder}",
            "program_binary": "target/thumbv7em-none-eabihf/debug/debugging_variables",
            "chip": "STM32H745ZITx",
            "connect_under_reset": true,
            "speed": 24000,
            // "probe": "PID:VID:",
            "runtimeExecutable": "probe-rs-debugger",
            "runtimeArgs": [
                "debug",
                "--dap"
            ],
            "core_index": 0,
            "flashing_enabled": true,
            "reset_after_flashing": true,
            "halt_after_reset": true,
            "console_log_level": "Error"
        },
        {
            "preLaunchTask": "${defaultBuildTask}",
            "type": "probe-rs-debug",
            "request": "attach",
            "name": "probe_rs Server Test",
            "server": "127.0.0.1:50001",
            "cwd": "${workspaceFolder}",
            "program_binary": "./target/thumbv7em-none-eabihf/debug/debugging_variables",
            "chip": "STM32H745ZITx",
            "connect_under_reset": true,
            "speed": 24000,
            // "probe": "PID:VID:",
            "core_index": 0,
            "flashing_enabled": true,
            "reset_after_flashing": true,
            "halt_after_reset": false,
            "console_log_level": "Info"            
        }
    ]
}

Current working functionality and known limitations

  • Launch: Automatcially launch probe-rs-debugger executable and connect to it, or ...
  • Attach: Use TCIP/IP port to connect to an existing probe-rs-debugger server
  • Connect to probe with probe-rs
    • Supports connect-under-reset
    • Only tested against STM32H745, using the Cortex-M7 core of this multi-core chip.
  • Flash the chip with your own binary.
    • Supports reset-after-flashing
    • Supports halt-after-reset. This will allow you to set breakpoints in your main() function.
  • Set, clear, disable, enable hardware Breakpoints
  • Step Over executing code
    • Step Over works at 'instruction' granularity, so sometimes requires multiple steps per line of code
    • Stepping at 'line' level, Step Into, Step Out, does not work yet
  • Variables View
    • View values of core Registers, and changes during code execution
      • TODO: Expand to show additional architecture registers
    • View values of Locals and Statics variables, and update values during code execution.
      • Shows datatypes and values for the following Rust datatypes.
        • Base types, including &str
        • Enumerations
        • Structures
        • Pointers
        • Variants
        • Arrays
        • Unions
        • Options & Results
        • Unit types
      • TODO: Add support for additional types, such as Generics, etc.
  • Call Stack View
    • Supports a single thread, for a single core of the chip, but will allow selection of any frames that are in the current thread
    • TODO: Support multiple threads
    • TODO: Support chips with multiple cores
  • TODO: Watch View Nothing yet
  • TODO: ITM and RTT
  • TODO: Enable Debug Console to accept CLI commands via REPL

Build and Run

  • Open the project folder in VS Code.
  • Open a terminal and run the yarn command, to install VSCode development dependencies
  • Press F5 to build and launch probe-rs-debugger in another VS Code window. In that window:
    • You will see the debug-example project, which may require some changes if you have a different chip or board.
    • Select the debug environment "probe_rs Executable Test".
    • Press F5 to start debugging.
Comments
  • defmt::println over RTT not shown in terminal

    defmt::println over RTT not shown in terminal

    defmt::println!("Hello, world!") does not produce output in the terminal window.

    Code to repro.

    hardware:

    • nucleo-F767ZI powered over usb, nothing attached to pins.

    software:

    • probe-rs-debugger-0.3.3.vsix, probe-rs-debugger 0.12.0, probe-run 0.3.1
    opened by ghost 22
  • RISCV issues

    RISCV issues

    Finally getting around to trying out debugging with probe-rs! It was pretty easy to setup, however I'm running into a few issues.

    probe-rs is correctly stopping on breakpoints (see bottom left) but the UI is not updating, nor is it filling the variables table.

    image

    opened by MabezDev 16
  • Couple of probably related issues - unable to reset nrf52840-mdk

    Couple of probably related issues - unable to reset nrf52840-mdk

    When attempting to debug, vscode probe-rs-debug doesnt halt on reset and I believe it actually picks up state from the previous session (cant confirm though). Upon trying to manually attempt a reset, the session drops out. In other words, cant seem to start a fresh debugging session.

    board: nrf52840-mdk (maker diary)

    These are the contents of my launch.json.

    {
        "version": "0.2.0",
        "configurations": [
            {
                "preLaunchTask": "${defaultBuildTask}",
                "type": "probe-rs-debug",
                "request": "launch",
                "name": "rustBoot launch",
                "program_binary": "${workspaceFolder}/boards/target/thumbv7em-none-eabihf/release/nrf52840",
                "chip": "nRF52840_xxAA",
                "connect_under_reset": false,
                "speed": 24000,
                "runtimeExecutable": "probe-rs-debugger",
                "runtimeArgs": [
                    "debug",
                    "--dap"
                ],
                "core_index": 0,
                "flashing_enabled": true,
                "reset_after_flashing": true,
                "halt_after_reset": true,
                "console_log_level": "Info",
                // "svdFile": "${workspaceRoot}/nrf52840.svd"
            },
            {
                "type": "probe-rs-debug",
                "request": "attach",
                "name": "rustBoot attach",
                "server": "127.0.0.1:50001",
                "cwd": "${workspaceFolder}",
                "program_binary": "${workspaceFolder}/boards/target/thumbv7em-none-eabihf/release/nrf52840",
                "chip": "nRF52840_xxAA",
                "connect_under_reset": false,
                "speed": 24000,
                "core_index": 0,
                "flashing_enabled": false,
                "reset_after_flashing": false,
                "halt_after_reset": true,
                "console_log_level": "Info"
            }
        ]
    }
    

    There are a couple of other accompanying issues which I believe may be related to this. (have screenshots for these problems, if you need them).

    • Errors in extracting the location of local variables
    • Error when unwrapping any kind of option. (cant find file)
    • Cant seem to get defmt logs out. (defmt macros and rtt is enabled)

    I'm not entirely sure if this is due to it being an alpha build or if something's wrong with my set-up.

    opened by nihalpasham 12
  • An error with the usage of the probe occured

    An error with the usage of the probe occured

    I installed the probe-rs vscode extension. Probe-rs detects my chip and my port ,but isn't able to debug my Rust program.

    Here is my debug console output:

    Received DAP Request sequence #1 : initialize
       Sent DAP Response sequence #1 : initialize
    
    Received DAP Request sequence #2 : launch
       Sent DAP Response sequence #2 : launch
    ERROR: [2021-12-23T01:46:48Z WARN  probe_rs::config::registry] Found chip nRF52833_xxAA which matches given partial name nRF52833. Consider specifying its full name.
    
    probe-rs-debugger CONSOLE: ....Closing session from  :127.0.0.1:33256
    probe-rs-debugger CONSOLE: DAP Protocol server exiting
    
    Triggered DAP Event: probe-rs-show-message
    

    Here is my launch.json:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "type": "probe-rs-debug",
                "request": "launch",
                "name": "led_roulette_debugger",
                "cwd": "${workspaceFolder}",
                "programBinary": "/home/raunaksingh/RustProjects/discovery/microbit/target/thumbv7em-none-eabihf/debug/led-roulette.d", //!MODIFY
                "chip": "nRF52833", //!MODIFY
                "connectUnderReset": true,
                "runtimeExecutable": "probe-rs-debugger",
                "runtimeArgs": [
                    "debug",
                    "--dap"
                ],
                "coreIndex": 0,
                "flashingEnabled": true,
                "resetAfterFlashing": true,
                "haltAfterReset": true,
                "consoleLogLevel": "Info", //Error, Warn, Info, Debug, Trace 
            }
        ]
    }
    

    I am trying to flash my code to the nRF52833 on the Microbit. I am on Ubuntu Linux.

    opened by Raunak-Singh-Inventor 11
  • Start using prettier

    Start using prettier

    Automatic code formatting with prettier gives us consistent code style without the need for any stylistic discussions.

    When using the recommended VSCode extension, code is automatically formatted on save.

    Adherence to the prettier code style is checked in CI.

    First part of #20.

    opened by dbrgn 8
  • F10 & F11 stepping not reliable

    F10 & F11 stepping not reliable

    Code to repro.
    Discussion on rs-probe:matrix.org..

    hardware:

    • nucleo-F767ZI powered over usb, nothing attached to pins.

    software:

    • probe-rs-debugger-0.3.3.vsix, probe-rs-debugger 0.12.0, probe-run 0.3.1
    • "hello world" and stm32f7xx-hal with features = ["stm32f767", "rt"].

    add'l info:

    • 'probe-run --chip stm32f767zi target/thumbv7em-none-eabihf/debug/hello' works.
    • 'probe-rs-debugger from command line works'

    partial workaround: with enable "reset after flash" but disable "halt after reset", hitting F5 builds, flashes, hits the bp in main reliably, and can hit multiple explicit bps

    Initially the target was flashed and debuggee was launched, but never hit the initial bp set in main. This coincided with a notification popup with "Unable to open 'asm.S': Unable to read file '/home/jonas/dev/cortex-m-rt/asm.S' (Error: Unable to resolve nonexistent file '/home/jonas/dev/cortex-m-rt/asm.S')."

    Debug output showed the following:

    Received DAP Request sequence #7 : stackTrace
    ERROR: [2022-01-15T20:16:32Z WARN  probe_rs::probe::stlink] send_jtag_command 242 failed: SwdApFault
    ERROR: [2022-01-15T20:16:32Z INFO  probe_rs::debug] Failed to retrieve debug information for program counter 0xfffffffe: Do not have unwind info for the given address.
       Sent DAP Response sequence #7 : stackTrace
    
    Received DAP Request sequence #8 : stackTrace
    ERROR: [2022-01-15T20:16:32Z WARN  probe_rs::probe::stlink] send_jtag_command 242 failed: SwdApFault
    ERROR: [2022-01-15T20:16:32Z INFO  probe_rs::debug] Failed to retrieve debug information for program counter 0xfffffffe: Do not have unwind info for the given address.
       Sent DAP Response sequence #8 : stackTrace
    
    

    When I clicked the debug control restart button, then it hit the initial bp in main, but after that was not able to step reliably.

    @adamgreig response on matrix: darryln: hmm, a few weird things going on - the error about asm.S indicates it's trying to work out what's happening when the program counter is inside the init code that runs before main, which comes from that file, suggesting your breakpoint has triggered too early/right at reset but later, the PC is at FFFFFFFE, which isn't a valid PC and suggests a fault has been taken, and then the chip fails to respond after that too? specifically FFFFFFFE means the processor faulted while processing a fault and therefore entered lockup.

    opened by ghost 7
  • Revert

    Revert "Start using prettier"

    Reverts probe-rs/vscode#32

    @dbrgn ... bringing forward my requests from #32:

    • Please can we ensure we do not reformat src/debugProtocol.json ... this file is downloaded from the DAP spec in one of the npm scripts.
    • I really appreciate the work you've done here, but I'd prefer if we can hold of a few days with merging this, until #31 has been merged (just to avoid unnecessary conflict resolution on the latter).
    opened by Yatekii 6
  • Refactor how `launch` and `attach` requests work.

    Refactor how `launch` and `attach` requests work.

    This PR was motivated by discussions in #7, and will require rework of the equivalent functionality in probe-rs-debugger. It will involve a big code change in both repo's.

    In the first iterations of this extension, the launch and attach terminology was interpreted to apply to the debug adapter process. In other words, "launch a new instance of the debug adapter", or "attach to a to an existing debug adapter process". - Both operations allowed flashing and resetting of the target process running on the probe.

    • Neither operations allowed the debug adapter session to last for more than one session of the target process on the probe.

    The proposed change will reinterpret the launch and attach terminology to apply to the target process running on the probe. To help clarify the different behaviours, I will use the following terminology:

    • debug session: This refers to host side process, and ...
      • Starts when a user initiates either a launch or attach request, and ...
      • Ends when the user either initiates disconnect request, or chooses to Stop a host side debug session.
    • target session: This refers to the target side process, and ...
      • Starts when the target device boots and executes the firmware program, and ...
      • Ends when the target device processing halts as a result of a unrecoverable exception, or as part of a Reset request, or when the device looses power.

    launch request type

    1. Start a debug session : i. Connect to the target device and executes a Reset request so that a new target session is started ii. Optionally flashes the target device firmware with the binary to be executed

    attach request type

    1. Start a debug session : i. Connect to the target device, but do NOT issue `Reset, so that the existing target session is uninterrupted

    Common behaviour to both launch and attach request types

    1. Support all standard debug behaviours, such as "Pause", "Breakpoints", RTT, etc.
    2. The Reset request will cause probe-rs, to restart the target device, and associated target session. i. This will honour the value of the halt_after_reset flag. ii. The debug session is not affected.
    3. The Disconnect request in the debug session will ... i. Instruct probe-rs to disconnect from the target device. ii. This implicitly ends the debug session. iii. The state of the target session is not affected. iv. There are some subtleties depending on launch vs attach as described in the MS DAP Specification for the Disconnect Request
    4. The Stop function (Terminate request) in the debug session will behave the same as the disconnect, except ... i. The debug session will send a stop request to halt the target session before disconnecting. ii. There are some subtleties depending on launch vs attach as described in the MS DAP Specification for the Terminate Request

    Running probe-rs-debugger as a standalone for a VSCode debug session

    In most cases, the VSCode debug extension will take care of automatically launching (and ending) the probe-rs-debugger executable to act as the debug adapter for probe-rs.

    It is possible for the user to take control of this, by running probe-rs-debugger from the command line, with the following command

    • probe-rs-debugger debug --dap --port <any availably TCP/IP port number>

    Any VSCode debug session can then attach to the specified on the server where probe-rs-debugger runs, and use the functionality above.

    1. Such a server debug session implies the following: i. In order for VSCode to know where to find the debug adapter, the user needs to add the appropriate TCP host IP address and port number to the launch.json configuration, by adding the option "server":"<host address>:<port number>" (e.g. "server":"127.0.0.1:50000") ii. Such a server debug session will put the management (start and stop) of the probe-rs-debugger process completely under control of the user.

    Further reading:

    The above proposal aims to be consistent with the process described in the VSCode debug docs

    opened by noppej 6
  • Fix #15: debugging session closes silently

    Fix #15: debugging session closes silently

    This fix for #15 includes the following:

    • In addition to checking for error code, also check for the possibility of a process signal.
    • Previously the probe-rs-debugger process was started with child_process.execFile, which has a default maxBuffer for stdio of 1024 * 1024. When the stdout or stderr (RUST_LOG output is handled this way) exceeded this, VSCode would terminate the process and truncate the output ... and because we didn't test the signal, we never saw the SIGTERM event happening, and it looked as if the probe-rs-debugger failed silently. I have changed this to use child_process.spawn, which uses Stream objects instead of Buffer objects to handle the stdio from the child process.
    • Bump the version number of the extension to 0.3.3
    opened by noppej 4
  • debugging session closes silently

    debugging session closes silently

    After working through #14 Im trying several target and debugger combinations to try to get a working debug session ust to see what it is supposed to look like. Currently attempting an STM32F407 discovery board with stilnk. But similarly to a jlink the session starts and communicates with the debugger but after a second or two, the session abruptly stops with no feedback. I found the trace debug which is obvious in retrospect (though not listed on the website and probably should be)

    • Linux
    • vscode 1.61.2
    • probe-rs-debugger upstream master 4ba46f40f436e8cec452ce4a5ae570b21d26d156
    • vscode upstream master 78242eb09be01398fb3cefe94278d4986fd0543b

    Trace log https://gist.github.com/jacobrosenthal/a714ba3bc63b7e956f6a94d09701ed80

    opened by jacobrosenthal 4
  • Refactor handling of logging and user messaging.

    Refactor handling of logging and user messaging.

    probe-rs recently adopted the tracing crate for logging. This opened up the possibility to cleanup how logging was implemented in the VSCode extension and associated probe-rs-debugger.

    This PR will do the following:

    • As a maintenance task, update the extension dependencies, and bump the version number.
    • Add a launch.json setting to direct probe-rs logging to a JSON file, which can later be analyzed with the log viewer.
    • Remove any probe-rs (RUST_LOG) logging from the data being reported in the VSCode debug console. It is currently interspersed with debug adapter logging, and although somewhat informative, it makes it less than useful when analyzing probe-rs specific issues.
    • Refactor the VSCode extension and probe-rs-debugger handling of MS DAP events and messages, to be more useful (objective opinion) to users of the extension.
    • probe-rs-debugger logging will happen according to these rules:
      1. If the RUST_LOG environment variable is set, use it as a LevelFilter to configure a subscriber that logs to a file in the system's application data directory.
      2. Irrespective of theRUST_LOG environment variable, configure a subscriber that will write with LevelFilter::ERROR to stderr (because these errors are picked up and reported to the user by the VSCode extension).

    NOTE This release requires changes to the launch.json files in user projects

    • The consoleLog property only supports one of three values [Console, Info, Debug]
    • The extension will now honour env properties, for example:
      "env": {
          "RUST_LOG": "warn",
          "DEFMT_LOG": "debug"
      }
      

    For testing, feel free to use the extension binary

    opened by noppej 3
  • Sourcecode cleanup

    Sourcecode cleanup

    Would you object to a PR that introduces prettier and eslint to the codebase? Right now it's a bit of a mess due to no consistent code style (probably because it's based on a plugin template) 🙂

    good first issue help wanted 
    opened by dbrgn 11
Releases(v0.4.1)
  • v0.4.1(Dec 16, 2022)

    This release contains changes to support the change in probe-rs-debugger associated with logging data from the debugger.

    This release requires changes to the launch.json files in user projects

    • The consoleLog property only supports one of three values [Console, Info, Debug]
    • The extension will now honour env properties, for example:
      "env": {
          "RUST_LOG": "warn",
          "DEFMT_LOG": "debug"
      }
      

    Please refer to the latest version of the guide for setup and usage information.

    Consider this an Alpha release, that demonstrates working functionality of many features, while not being complete. The primary debug functionality is implemented in the pre-requisite probe-rs debug server.

    NOTE: This release requires the latest probe-rs-debugger to be installed with cargo install --force --git https://github.com/probe-rs/probe-rs --branch master probe-rs-debugger

    Source code(tar.gz)
    Source code(zip)
    probe-rs-debugger-0.4.1.vsix(1.85 MB)
  • v0.4.0(Apr 7, 2022)

    This release contains changes to support the change in probe-rs-debugger associated with adding CMSIS-SVD Peripheral data to the the debugger.

    This release requires changes to the launch.json files in user projects

    NOTE: This release requires the latest probe-rs-debugger to be installed with cargo install --force --git https://github.com/probe-rs/probe-rs probe-rs-debugger

    Please refer to the latest version of the guide for setup and usage information.

    Consider this an Alpha release, that demonstrates working functionality of many features, while not being complete. The primary debug functionality is implemented in the pre-requisite probe-rs debug server.

    Source code(tar.gz)
    Source code(zip)
    probe-rs-debugger-0.4.0.vsix(1.85 MB)
  • v0.3.6(Mar 5, 2022)

    This release contains minor changes to support the change in probe-rs-debugger associated with removing CLI functionality from the debugger.

    NOTE: This release requires the latest probe-rs-debugger to be installed with cargo install --force --git https://github.com/probe-rs/probe-rs probe-rs-debugger

    Please refer to the latest version of the guide for setup and usage information.

    Consider this an Alpha release, that demonstrates working functionality of many features, while not being complete. The primary debug functionality is implemented in the pre-requisite probe-rs debug server.

    Source code(tar.gz)
    Source code(zip)
    probe-rs-debugger-0.3.6.vsix(1.83 MB)
  • v0.3.5(Mar 3, 2022)

    This release contains improvements in RTT logging, as well as updates to dependencies.

    NOTE: This release requires the latest probe-rs-debugger to be installed with cargo install --force --git https://github.com/probe-rs/probe-rs probe-rs-debugger

    Please refer to the latest version of the guide for setup and usage information.

    Consider this an Alpha release, that demonstrates working functionality of many features, while not being complete. The primary debug functionality is implemented in the pre-requisite probe-rs debug server.

    Source code(tar.gz)
    Source code(zip)
    probe-rs-debugger-0.3.5.vsix(1.83 MB)
  • v0.3.4(Feb 3, 2022)

    This release contains general bug fixes, as well as improvements to the logging.

    NOTE: This release requires the latest probe-rs-debugger to be installed with cargo install --force --git https://github.com/probe-rs/probe-rs probe-rs-debugger

    Please refer to the latest version of the guide for setup and usage information.

    Consider this an Alpha release, that demonstrates working functionality of many features, while not being complete. The primary debug functionality is implemented in the pre-requisite probe-rs debug server.

    Source code(tar.gz)
    Source code(zip)
    probe-rs-debugger-0.3.4.vsix(1.17 MB)
  • v0.3.3(Nov 17, 2021)

    This release fixes issue #15.

    NOTE This release requires the latest probe-rs-debugger to be installed with cargo install --force --git https://github.com/probe-rs/probe-rs probe-rs-debugger

    Please refer to the latest version of the guide for setup and usage information.

    Consider this an Alpha release, that demonstrates working functionality of many features, while not being complete. The primary debug functionality is implemented in the pre-requisite probe-rs debug server.

    Source code(tar.gz)
    Source code(zip)
    probe-rs-debugger-0.3.3.vsix(1.17 MB)
  • v0.3.2(Nov 15, 2021)

    This release fixes issue #14.

    NOTE This release requires the latest probe-rs-debugger to be installed with cargo install --force --git https://github.com/probe-rs/probe-rs probe-rs-debugger

    Please refer to the latest version of the guide for setup and usage information.

    Consider this an Alpha release, that demonstrates working functionality of many features, while not being complete. The primary debug functionality is implemented in the pre-requisite probe-rs debug server.

    Source code(tar.gz)
    Source code(zip)
    probe-rs-debugger-0.3.2.vsix(1.17 MB)
  • v0.3.1(Nov 12, 2021)

    Converted launch.json properties to use camelCase. e.g. Will now use flashingEnabled rather than flashing_enabled.

    NOTE This release requires the latest probe-rs-debugger to be installed with cargo install --force --git https://github.com/probe-rs/probe-rs probe-rs-debugger

    Please refer to the latest version of the guide for setup and usage information.

    Consider this an Alpha release, that demonstrates working functionality of many features, while not being complete. The primary debug functionality is implemented in the pre-requisite probe-rs debug server.

    Source code(tar.gz)
    Source code(zip)
    probe-rs-debugger-0.3.1.vsix(1.17 MB)
  • V0.3.0(Oct 27, 2021)

    This update does a major refactor of how the launch and attach requests are implemented (please refer to #12) , as well as some bug fixes.

    NOTE This release requires the latest probe-rs-debugger to be installed with cargo install --force --git https://github.com/probe-rs/probe-rs probe-rs-debugger

    Please refer to the latest version of the guide for setup and usage information.

    Consider this an Alpha release, that demonstrates working functionality of many features, while not being complete. The primary debug functionality is implemented in the pre-requisite probe-rs debug server.

    Source code(tar.gz)
    Source code(zip)
    probe-rs-debugger-0.3.0.vsix(1.17 MB)
  • V0.2.2(Aug 27, 2021)

  • V0.2.1(May 15, 2021)

Owner
probe.rs
embedded tooling in rust
probe.rs
A substrate pallet that enables Manta's decentialized anynonymous payment (DAP) protocol.

This is a pallet that enables decentialized anynonymous payment (DAP) protocol. The best way to use this repo is to invoke it with a manta-runtime, available from either manta-node or cumulus.

Manta Network 27 Nov 23, 2022
Easy c̵̰͠r̵̛̠ö̴̪s̶̩̒s̵̭̀-t̶̲͝h̶̯̚r̵̺͐e̷̖̽ḁ̴̍d̶̖̔ ȓ̵͙ė̶͎ḟ̴͙e̸̖͛r̶̖͗ë̶̱́ṉ̵̒ĉ̷̥e̷͚̍ s̷̹͌h̷̲̉a̵̭͋r̷̫̊ḭ̵̊n̷̬͂g̵̦̃ f̶̻̊ơ̵̜ṟ̸̈́ R̵̞̋ù̵̺s̷̖̅ţ̸͗!̸̼͋

Rust S̵̓i̸̓n̵̉ I̴n̴f̶e̸r̵n̷a̴l mutability! Howdy, friendly Rust developer! Ever had a value get m̵̯̅ð̶͊v̴̮̾ê̴̼͘d away right under your nose just when

null 294 Dec 23, 2022
`Debug` in rust, but only supports valid rust syntax and outputs nicely formatted using pretty-please

dbg-pls A Debug-like trait for rust that outputs properly formatted code Showcase Take the following code: let code = r#" [ "Hello, World!

Conrad Ludgate 12 Dec 22, 2022
esp-serial-dbg - debugging of esp-hal based applications via serial

esp-serial-dbg - debugging of esp-hal based applications via serial About This is still work in progress! At least the contained examples should work

Björn Quentin 3 Aug 23, 2022
A standalone Command Line Interface debugging tool for The Witcher 3 written in Rust

A standalone Command Line Interface debugging tool for The Witcher 3 written in Rust. This tool is intended for Witcher 3 modders who make mainly scri

Przemysław Cedro 5 Apr 20, 2022
VSCode extension to quickly write and customize well tested Solana snippets.

Solana Snippets The Solana Snippets VSCode Extension allows you to quickly insert Solana snippets into your code. This snippets are well tested in a r

patriciobcs 7 Dec 15, 2022
fast & easy CLI and vscode extension specialized to format MySQL INSERT queries.

insertfmt fast & easy CLI specialized to format MySQL INSERT queries. format queries so that they look like a table. NOTE: If you wanna use the VSCode

canalun 7 May 2, 2023
A CLI tool to launch vscode projects, which supports devcontainers.

vscli A CLI tool to launch vscode projects, which supports devcontainers. Features A shorthand for launching vscode projects Detects whether a project

Michael Lohr 7 Mar 20, 2023
In addition to encryption library, pure RUST implementation of SSH-2.0 client protocol

In addition to encryption library, pure RUST implementation of SSH-2.0 client protocol

陈年旧事。 73 Jan 1, 2023
A native debugger extension for VSCode based on LLDB

Features Conditional breakpoints, function breakpoints, logpoints, Hardware data access breakpoints (watchpoints), Launch debuggee in integrated or ex

null 1.6k Dec 31, 2022
A TUI front-end for the Debug Adapter Protocol.

Pesticide A TUI front-end for the Debug Adapter Protocol. Motivation I am an avid kakoune user. Kak is a very niche text editor with few users. As suc

raiguard 6 Jun 17, 2022
Enhance Rust errors with file and line details using the `#[wherr]` macro for clearer debugging.

wherr Crate Discuss wherr on Hacker News Enhance Rust's ? operator by appending file and line number details to errors, simplifying the debugging proc

Joel Jakobsson 49 Sep 6, 2023
A mobile application platform for tertiary students to communicate, collaborate and share ideas with each other

Qreeket (pronounced "cricket") A mobile application platform for tertiary students to communicate, collaborate and share ideas with each other. As the

Quabynah Bilson Jr. 3 May 15, 2023
Save image from your clipboard 📋 as an image file directly from your command line! 🔥

Clpy ?? Save copied image from clipboard as an image file directly from your command line! Note It works only on windows as of now. I'll be adding sup

Piyush Suthar 13 Nov 28, 2022
A tool to use the webeep platform of the Politecnico di Milano directly from the command line.

webeep-cli A tool to use the WeBeep platform of the Politecnico di Milano directly from the command line. Features Browse the course folders as if the

Simone Orlando 9 Apr 8, 2022
Official moo translator to communicate with cows 🐮

Cow translator ?? Official moo translator to communicate with cows ?? Installation ?? Arch Cow translator is available in the AUR yay -S cow-translato

Skwal 2 Mar 22, 2022
code to connect + communicate with a Spotify Car Thing

spotify_carthing_bt A grab-bag of spotify car thing related hacks I'm working on. deskthing-rs A Rust port of https://github.com/relative/deskthing, w

Daniel Prilik 6 Dec 19, 2022
Communicate with OpenAi's GPT3.5 (ChatGPT) API.

ChatGPT Rust Communicate with OpenAi's GPT3.5 (ChatGPT) API. Usage use chat_gpt_rs::prelude::*; #[tokio::main] async fn main() { let token = Toke

Aiden 4 Mar 10, 2023
A CLI utility installed as "ansi" to quickly get ANSI escape sequences. Supports the most basic ones, like colors and styles as bold or italic.

'ansi' - a CLI utility to quickly get ANSI escape codes This Rust project called ansi-escape-sequences-cli provides an executable called ansi which ca

Philipp Schuster 5 Jul 28, 2022