{ "name": "cbl-gdb", "displayName": "GDB Debugging support for GnuCOBOL", "description": "GDB Debugging support for GnuCOBOL", "keywords": [ "gdb", "COBOL", "debug" ], "license": "COBOLworx", "version": "4.1.1", "publisher": "COBOLworx", "icon": "images/COBOLworx.png", "engines": { "vscode": "^1.28.0" }, "main": "./out/src/frontend/extension", "activationEvents": [ "onCommand:cbl-gdb.examineMemoryLocation", "onCommand:cbl-gdb.getFileNameNoExt", "onCommand:cbl-gdb.getFileBasenameNoExt", "onCommand:cbl-gdb.getAttachPID" ], "categories": [ "Debuggers" ], "repository": { "type": "git", "url": "https://gitlab.cobolworx.com/COBOLworx/cbl-gdb-vsextension.git" }, "contributes": { "commands": [ { "command": "cbl-gdb.examineMemoryLocation", "title": "cbl-gdb: Examine memory location" } ], "debuggers": [ { "type": "cbl-gdb", "program": "./out/src/gdb.js", "runtime": "node", "label": "COBOLworx cbl-gdb GnuCOBOL debugging", "variables": { "FileBasenameNoExt": "cbl-gdb.getFileBasenameNoExt", "FileNameNoExt": "cbl-gdb.getFileNameNoExt", "getAttachPID": "cbl-gdb.getAttachPID" }, "configurationAttributes": { "launch": { "required": [ "program" ], "properties": { "program": { "type": "string", "description": "Path of executable" }, "arguments": { "type": "string", "description": "Arguments to append after the executable. You can also use pipes." }, "terminal": { "type": "string", "description": "Leave this field undefined to keep program output in the vscode console at the bottom. If this is set to empty string the program will spawn in a new console using x-terminal-emulator on linux, otherwise with the specified terminal. On windows setting this to an empty string spawns the program in a console, but no other console is supported." }, "cwd": { "type": "string", "description": "Path of project" }, "gdbpath": { "type": "string", "description": "Path to the gdb executable or the command if in PATH", "default": "gdb" }, "env": { "type": "object", "description": "Environment overriding the gdb (and in turn also the process) environment", "default": null }, "debugger_args": { "type": "array", "description": "Additional arguments to pass to GDB", "default": [] }, "valuesFormatting": { "type": "string", "description": "Set the way of showing variable values. 'disabled' - show value as is, 'parseText' - parse debuggers output text into structure, 'prettyPrinters' - enable debuggers custom pretty-printers if there are any", "default": "parseText", "enum": [ "disabled", "parseText", "prettyPrinters" ] }, "printCalls": { "type": "boolean", "description": "Prints all GDB calls to the console", "default": false }, "showDevDebugOutput": { "type": "boolean", "description": "Prints all GDB responses to the console", "default": false }, "autorun": { "type": "array", "description": "GDB commands to run when starting to debug", "default": [] }, "ssh": { "required": [ "host", "cwd", "user" ], "type": "object", "description": "If this is set then the extension will connect to an ssh host and run GDB there", "properties": { "host": { "type": "string", "description": "Remote host name/ip to connect to" }, "cwd": { "type": "string", "description": "Path of project on the remote" }, "port": { "type": "number", "description": "Remote port number", "default": 22 }, "user": { "type": "string", "description": "Username to connect as" }, "password": { "type": "string", "description": "Plain text password (unsafe; if possible use keyfile instead)" }, "keyfile": { "type": "string", "description": "Absolute path to private key" }, "useAgent": { "type": "boolean", "description": "Auto-detect the running SSH agent (via SSH_AUTH_SOCK environment variable) and use it to perform authentication", "default": false }, "forwardX11": { "type": "boolean", "description": "If true, the server will redirect x11 to the local host", "default": true }, "x11port": { "type": "number", "description": "Port to redirect X11 data to (by default port = display + 6000)", "default": 6000 }, "x11host": { "type": "string", "description": "Hostname/ip to redirect X11 data to", "default": "localhost" }, "remotex11screen": { "type": "number", "description": "Screen to start the application on the remote side", "default": 0 }, "bootstrap": { "type": "string", "description": "Content will be executed on the SSH host before the debugger call." } } } } }, "attach": { "properties": { "process_id": { "type": "string", "description": "PID of running program or program name or connection arguments (eg :2345) if remote is true" }, "ixscript": { "type": "string", "description": "Script to be executed by the GDB -ix switch" }, "primdebug": { "type": "string", "description": "Path to file/fifo containing 'PID appname' information" }, "solibs": { "type": "string", "description": "Value for solib-search-path" }, "remote": { "type": "boolean", "description": "If true this will connect to a gdbserver instead of attaching to a PID", "default": false }, "valuesFormatting": { "type": "string", "description": "Set the way of showing variable values. 'disabled' - show value as is, 'parseText' - parse debuggers output text into structure, 'prettyPrinters' - enable debuggers custom pretty-printers if there are any", "default": "parseText", "enum": [ "disabled", "parseText", "prettyPrinters" ] }, "printCalls": { "type": "boolean", "description": "Prints all GDB calls to the console", "default": false }, "showDevDebugOutput": { "type": "boolean", "description": "Prints all GDB responses to the console", "default": false }, "executable": { "type": "string", "description": "Path of executable for debugging symbols" }, "gdbpath": { "type": "string", "description": "Path to the gdb executable or the command if in PATH", "default": "gdb" }, "env": { "type": "object", "description": "Environment overriding the gdb (and in turn also the process) environment", "default": null }, "debugger_args": { "type": "array", "description": "Additional arguments to pass to GDB", "default": [] }, "cwd": { "type": "string", "description": "Path of project", "default": "${workspaceRoot}" }, "autorun": { "type": "array", "description": "GDB commands to run when starting to debug", "default": [] }, "ssh": { "required": [ "host", "cwd", "user" ], "type": "object", "description": "If this is set then the extension will connect to an ssh host and run GDB there", "properties": { "host": { "type": "string", "description": "Remote host name/ip to connect to" }, "cwd": { "type": "string", "description": "Path of project on the remote" }, "port": { "type": "number", "description": "Remote port number", "default": 22 }, "user": { "type": "string", "description": "Username to connect as" }, "password": { "type": "string", "description": "Plain text password (unsafe; if possible use keyfile instead)" }, "keyfile": { "type": "string", "description": "Absolute path to private key" }, "useAgent": { "type": "boolean", "description": "Auto-detect the running SSH agent (via SSH_AUTH_SOCK environment variable) and use it to perform authentication", "default": false }, "forwardX11": { "type": "boolean", "description": "If true, the server will redirect x11 to the local host", "default": true }, "x11port": { "type": "number", "description": "Port to redirect X11 data to (by default port = display + 6000)", "default": 6000 }, "x11host": { "type": "string", "description": "Hostname/ip to redirect X11 data to", "default": "localhost" }, "remotex11screen": { "type": "number", "description": "Screen to start the application on the remote side", "default": 0 }, "bootstrap": { "type": "string", "description": "Content will be executed on the SSH host before the debugger call." } } } } } }, "initialConfigurations": [ { "name": "cobc build and debug", "type": "cbl-gdb", "request": "launch", "preLaunchTask": "make", "program": "${workspaceFolder}/${fileBasenameNoExtension}", "cwd": "${workspaceFolder}", "arguments": "" }, { "name": "Attach to COBOL process with cbl-gdb debugger", "type": "cbl-gdb", "request": "attach", "cwd":"${workspaceFolder}", "solibs":"${env:PRIM_LIBRARY_PATH}", "process_id": "${command:getAttachPID}" } ] } ] }, "scripts": { "vscode:prepublish": "tsc -p ./", "compile": "tsc -watch -p ./", "postinstall": "node ./node_modules/vscode/bin/install" }, "dependencies": { "ssh2": "^0.8.9", "vscode-debugadapter": "^1.41.1", "vscode-debugprotocol": "^1.41.0" }, "devDependencies": { "@types/mocha": "^5.2.7", "@types/node": "^11.15.20", "mocha": "^8.1.1", "tslint": "^5.20.1", "tslint-language-service": "^0.9.9", "typescript": "^3.9.7", "vscode": "^1.1.37" }, "__metadata": { "id": "224226f9-3050-4841-9828-34fea500bb86", "publisherDisplayName": "COBOLworx", "publisherId": "6a5fb5e1-a1e4-4f5c-9c45-a1c59d5a2b7f" } }