Skip to content

Debugging with VSCode

ManuelLerchner edited this page Oct 28, 2024 · 2 revisions

Create this launch.json

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "Goblint",
        "type": "ocaml.earlybird",
        "request": "launch",
        "program": "${workspaceFolder}/goblint.byte",
        "arguments": [
          "tests/regression/01-cpa/76-bitfield.c",
          "--set", "ana.activated","['base','mallocWrapper','mutex','mutexEvents','access']",
          "--enable", "ana.int.bitfield",
          "--dbg.level", "debug",
          "--trace", "evalint" ,
          "--trace", "bitfield",
          "--trace", "branch",
          "--html",
        ],
        "env": {
          "LD_LIBRARY_PATH": "$LD_LIBRARY_PATH:_build/default/src/common"
        },
        "stopOnEntry": false,
        "preLaunchTask": "byte"
      }
    ]
}

and this tasks.json

{
    "version": "0.1.0",
    "command": "bash",
    "isShellCommand": true,
    "showOutput": "always",
    "options": {
        "cwd": "${workspaceRoot}"
    },
	"args": [
        "-c"
    ],
    "tasks": [
        {
            "taskName": "build",
            "suppressTaskName": true,
            "isBuildCommand": true,
            "args": ["make build"]
        },
        {
            "taskName": "byte",
            "suppressTaskName": true,
            "isTestCommand": true,
            "args": ["make byte"]
        },
        {
            "taskName": "deploy",
            "suppressTaskName": true,
            "args": ["make deploy"]
        },
        {
            "taskName": "help",
            "suppressTaskName": true,
            "args": ["make help"]
        }
    ]
}
Clone this wiki locally