# microsoft/vscode-js-debug

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/microsoft-vscode-js-debug).**

1,950 stars · 358 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/microsoft/vscode-js-debug
- awesome-repositories: https://awesome-repositories.com/repository/microsoft-vscode-js-debug.md

## Topics

`dap` `debug` `hacktoberfest` `vscode` `vscode-extension`

## Description

This project is a diagnostic adapter that connects code editors and standalone tools to running runtime processes using the standard Debug Adapter Protocol. It functions as a JavaScript and TypeScript debug implementation that maps compiled code back to original source files using sourcemaps, allowing developers to set breakpoints, inspect variables, and evaluate expressions without manual configuration.

The tool handles cross-environment code execution by automatically attaching to child processes, worker threads, service workers, and terminal processes. It supports advanced debugging capabilities such as configuring conditional exception filters, inspecting WebAssembly binaries via DWARF symbols, intercepting function return values, and formatting minified sources for readability. 

Additional features include capturing CPU performance profiles and memory heaps, monitoring HTTP network traffic, and translating renamed variables across views. The system also exposes active protocol socket addresses and provides extension integration points for companion tools.

## Tags

### Development Tools & Productivity

- [JavaScript and TypeScript Debugging](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/javascript-and-typescript-debugging.md) — Steps through JavaScript and TypeScript code, inspects variables, and evaluates expressions across runtimes.
- [Debugger Command APIs](https://awesome-repositories.com/f/development-tools-productivity/command-configuration-utilities/external-command-integrations/debugger-command-apis.md) — Translates abstract editor commands into concrete execution controls for runtime debuggers. ([source](https://microsoft.github.io/debug-adapter-protocol/))
- [Debug Adapter Protocol Implementations](https://awesome-repositories.com/f/development-tools-productivity/debug-adapter-protocol-implementations.md) — Connects editor interfaces to running runtime processes using the standard Debug Adapter Protocol.
- [Runtime Debugging](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/debugging-and-inspection-tools/runtime-debugging.md) — Inspects and steps through code running in browsers, servers, and mobile applications. ([source](https://github.com/microsoft/vscode-js-debug/blob/main/README.md))
- [Runtime Debugging Protocols](https://awesome-repositories.com/f/development-tools-productivity/runtime-debugging-protocols.md) — Executes diverse programming languages through protocol-compliant adapters that unify diagnostics. ([source](https://microsoft.github.io/debug-adapter-protocol/))
- [Debug Session Management](https://awesome-repositories.com/f/development-tools-productivity/debug-session-management.md) — Sets up parameters like working directories and environment variables to control debugging sessions. ([source](https://github.com/microsoft/vscode-js-debug/blob/main/OPTIONS.md))
- [Child Process Debugging](https://awesome-repositories.com/f/development-tools-productivity/debugger-initialization/process-attachment/child-process-debugging.md) — Automatically intercepts and debugs spawned child processes, worker threads, and service workers. ([source](https://github.com/microsoft/vscode-js-debug#readme))
- [Heap and CPU Profilers](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/heap-and-cpu-profilers.md) — Captures CPU performance profiles and memory heaps for native visualization and analysis. ([source](https://github.com/microsoft/vscode-js-debug/blob/main/README.md))
- [Breakpoint Debugging](https://awesome-repositories.com/f/development-tools-productivity/interactive-debug-consoles/breakpoint-debugging.md) — Pauses execution using conditional exception filters, instrumentation listeners, and call stack exclusions. ([source](https://github.com/microsoft/vscode-js-debug#readme))
- [Minified Code Debugging](https://awesome-repositories.com/f/development-tools-productivity/minified-code-debugging.md) — Formats minified production scripts into readable layouts for easier inspection during debugging sessions. ([source](https://github.com/microsoft/vscode-js-debug/blob/main/README.md))
- [Source Path Mapping](https://awesome-repositories.com/f/development-tools-productivity/path-mapping-configurations/path-mapping-configurations/repository-path-mapping/source-path-mapping.md) — Specifies file paths and source map locations to resolve running scripts back to original files. ([source](https://github.com/microsoft/vscode-js-debug/blob/main/OPTIONS.md))
- [Terminal Session Capturing](https://awesome-repositories.com/f/development-tools-productivity/terminal-automation/terminal-session-management/terminal-session-capturing.md) — Automatically attaches to terminal processes at startup to debug commands executed within terminal sessions. ([source](https://github.com/microsoft/vscode-js-debug/blob/main/README.md))
- [Terminal Debugging Integrations](https://awesome-repositories.com/f/development-tools-productivity/terminal-debugging-integrations.md) — Hooks into terminal commands and scripts at startup to launch debugging sessions instantly. ([source](https://github.com/microsoft/vscode-js-debug#readme))

### Part of an Awesome List

- [Sourcemap Management](https://awesome-repositories.com/f/awesome-lists/devtools/javascript-minifiers/sourcemap-management.md) — Maps compiled JavaScript back to original source files using sourcemaps to set breakpoints and inspect state.

### Programming Languages & Runtimes

- [Sourcemap Debuggers](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-documentation/documentation-parsers/typescript/sourcemap-debuggers.md) — Translates sourcemaps to step through and inspect original TypeScript sources without manual configuration.
- [Concurrent Thread Execution](https://awesome-repositories.com/f/programming-languages-runtimes/concurrent-thread-execution.md) — Automatically attaches to worker threads and child processes while permitting step-through debugging. ([source](https://github.com/microsoft/vscode-js-debug/blob/main/README.md))
- [DWARF Symbol Debugging](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/webassembly/dwarf-symbol-debugging.md) — Reads DWARF symbols from compiled WebAssembly binaries to step through low-level execution and inspect variables.
- [Sourcemap Variable Mappings](https://awesome-repositories.com/f/programming-languages-runtimes/variable-name-manglers/decompiled-code-variable-renamers/sourcemap-variable-mappings.md) — Translates renamed identifiers across views and evaluation requests using sourcemap data. ([source](https://github.com/microsoft/vscode-js-debug#readme))

### System Administration & Monitoring

- [Debug Adapter Protocol Runtimes](https://awesome-repositories.com/f/system-administration-monitoring/browser-debugging-protocols/debug-adapter-protocol-runtimes.md) — Connects code editors to running browser and server runtimes to control execution using standard debug adapter protocols.
- [Application Performance Profiling](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/application-performance-profiling.md) — Captures CPU performance and memory heaps with sourcemap translation to analyze application resource usage.

### Software Engineering & Architecture

- [Conditional Exception Filters](https://awesome-repositories.com/f/software-engineering-architecture/exception-raising-mechanisms/exception-breakpoints/conditional-exception-filters.md) — Configures conditional exception filters to pause execution when specific errors occur during debugging. ([source](https://github.com/microsoft/vscode-js-debug/blob/main/README.md))
