Skip to content

Renode in VSCode

Piotr Zierhoffer edited this page Mar 10, 2021 · 2 revisions

tasks.json

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build - Debug",
            "problemMatcher": "$msCompile",
            "type": "shell",
            "command": "./build.sh -d",
            "group": "build",
            "presentation": {
                "reveal": "silent",
                "panel": "shared"
            }
        },
        {
            "label": "Build - Release",
            "problemMatcher": "$msCompile",
            "type": "shell",
            "command": "./build.sh",
            "group": "build",
            "presentation": {
                "reveal": "always",
                "panel": "shared"
            }
        },
        {
            "label": "Disable parallel build",
            "type": "shell",
            "group": "none",
            "command": "sed -i 's/Parallel=\"true\"/Parallel=\"false\"/' ${workspaceFolder}/src/Infrastructure/src/Emulator/Cores/translate.cproj",
            "auto": "true"
        }
    ]   
}

The "Disable parallel build" task is sometimes helpful to get OmniSharp to do proper syntax completion.

This is version dependant, though.

launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch - Debug",
            "preLaunchTask": "Build - Debug",
            "type": "mono",
            "request": "launch",
            "program": "${workspaceRoot}/output/bin/Debug/Renode.exe",
            "cwd": "${workspaceRoot}",
        },
        {
            "name": "Launch - Release",
            "preLaunchTask": "Build - Release",
            "type": "mono",
            "request": "launch",
            "program": "${workspaceRoot}/output/bin/Release/Renode.exe",
            "cwd": "${workspaceRoot}"
        },
        {
            "name": "Attach",
            "internalConsoleOptions": "openOnSessionStart",
            "type": "mono",
            "request": "attach",
            "address": "localhost",
            "port": 55555
        },
        {
            "name": "(gdb) Tlib Attach",
            "type": "cppdbg",
            "request": "attach",
            "program": "${workspaceRoot}/output/bin/Debug/Renode.exe",
            "processId": "${command:pickProcess}",
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "text": "set breakpoint pending on"
                },
                {
                    "text": "handle SIGXCPU SIG33 SIG35 SIG36 SIG37 SIGPWR nostop noprint"
                },
                {
                    "text": "set architecture i386:x86-64"
                }
            ]
        }
    ]   
}
Clone this wiki locally