Skip to content

Bash shell debugger extension for VSCode (based on bashdb)

License

Notifications You must be signed in to change notification settings

rogalmic/vscode-bash-debug

Repository files navigation

VS Code Bash Debug

A bash debugger GUI frontend based on awesome bashdb scripts (bashdb now included in package).

Overview

This is a SIMPLE bashdb debugger frontend. Useful for learning bash shell usage and writing simple scripts.

Useful hint: shellcheck extension does a great job with finding common script errors before debugging.

Usage

  1. Select Debug -> Add Configuration to add custom debug configuration (drop-down, path-input, etc...)
  2. Select Debug -> Start Debugging (F5) to start debugging

See https://code.visualstudio.com/docs/editor/debugging for general usage.

Sample features

  • Debugging auto-configuration via launch.json

  • Simple debugging in hello world application

  • Standard input handling via terminal

  • Pause support while script is running

  • Advanced "Watch" and "Debug console" usage

  • Conditional breakpoints usage

For Windows users:

  • Install Windows Subsystem for Linux
  • Terminal has problems with spaces in paths when powershell is used, use WSL bash instead. For beta WSL please read this
  • pathBash refers to BASH binary path in WSL filesystem, not path to wsl.exe/bash.exe

For macOS users:

  • Read here if your mac has /usr/local/bin/pkill.
  • Install bash version 4.* and set pathBash properly

Dependencies

  1. bash version 4.0 or later
  2. cat, mkfifo, rm, pkill

Limitations and known problems

  • Use terminalKind@launch.json set to integrated or external for interactive scripts (using stdin)
  • Currently debugger stops at first command
  • $0 variable shows path to bashdb
  • Older bash versions ( 4.0 - 4.2 ) are not tested, but might work™
  • BASH_REMATCH gets overwritten when stepping through code