@theia/debug 1.67.0-next.13 → 1.67.0-next.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +15 -15
- package/src/browser/breakpoint/breakpoint-manager.ts +69 -16
- package/src/browser/breakpoint/breakpoint-marker.ts +38 -0
- package/src/browser/breakpoint/debug-data-breakpoint-actions.ts +170 -0
- package/src/browser/console/debug-console-items.tsx +5 -1
- package/src/browser/debug-frontend-application-contribution.ts +19 -0
- package/src/browser/debug-frontend-module.ts +2 -0
- package/src/browser/debug-session-manager.ts +18 -0
- package/src/browser/debug-session.tsx +31 -0
- package/src/browser/model/debug-data-breakpoint.tsx +79 -0
- package/src/browser/style/index.css +4 -0
- package/src/browser/view/debug-breakpoints-source.tsx +4 -10
- package/src/browser/view/debug-stack-frames-widget.ts +6 -2
- package/src/browser/view/debug-variables-widget.ts +99 -2
- package/src/browser/view/debug-view-model.ts +5 -0
- package/lib/browser/breakpoint/breakpoint-manager.d.ts +0 -71
- package/lib/browser/breakpoint/breakpoint-manager.d.ts.map +0 -1
- package/lib/browser/breakpoint/breakpoint-manager.js +0 -321
- package/lib/browser/breakpoint/breakpoint-manager.js.map +0 -1
- package/lib/browser/breakpoint/breakpoint-marker.d.ts +0 -42
- package/lib/browser/breakpoint/breakpoint-marker.d.ts.map +0 -1
- package/lib/browser/breakpoint/breakpoint-marker.js +0 -88
- package/lib/browser/breakpoint/breakpoint-marker.js.map +0 -1
- package/lib/browser/console/debug-console-contribution.d.ts +0 -45
- package/lib/browser/console/debug-console-contribution.d.ts.map +0 -1
- package/lib/browser/console/debug-console-contribution.js +0 -233
- package/lib/browser/console/debug-console-contribution.js.map +0 -1
- package/lib/browser/console/debug-console-items.d.ts +0 -97
- package/lib/browser/console/debug-console-items.d.ts.map +0 -1
- package/lib/browser/console/debug-console-items.js +0 -343
- package/lib/browser/console/debug-console-items.js.map +0 -1
- package/lib/browser/console/debug-console-session.d.ts +0 -32
- package/lib/browser/console/debug-console-session.d.ts.map +0 -1
- package/lib/browser/console/debug-console-session.js +0 -192
- package/lib/browser/console/debug-console-session.js.map +0 -1
- package/lib/browser/debug-call-stack-item-type-key.d.ts +0 -4
- package/lib/browser/debug-call-stack-item-type-key.d.ts.map +0 -1
- package/lib/browser/debug-call-stack-item-type-key.js +0 -20
- package/lib/browser/debug-call-stack-item-type-key.js.map +0 -1
- package/lib/browser/debug-configuration-manager.d.ts +0 -103
- package/lib/browser/debug-configuration-manager.d.ts.map +0 -1
- package/lib/browser/debug-configuration-manager.js +0 -545
- package/lib/browser/debug-configuration-manager.js.map +0 -1
- package/lib/browser/debug-configuration-model.d.ts +0 -30
- package/lib/browser/debug-configuration-model.d.ts.map +0 -1
- package/lib/browser/debug-configuration-model.js +0 -80
- package/lib/browser/debug-configuration-model.js.map +0 -1
- package/lib/browser/debug-contribution.d.ts +0 -23
- package/lib/browser/debug-contribution.d.ts.map +0 -1
- package/lib/browser/debug-contribution.js +0 -20
- package/lib/browser/debug-contribution.js.map +0 -1
- package/lib/browser/debug-frontend-application-contribution.d.ts +0 -249
- package/lib/browser/debug-frontend-application-contribution.d.ts.map +0 -1
- package/lib/browser/debug-frontend-application-contribution.js +0 -1678
- package/lib/browser/debug-frontend-application-contribution.js.map +0 -1
- package/lib/browser/debug-frontend-module.d.ts +0 -5
- package/lib/browser/debug-frontend-module.d.ts.map +0 -1
- package/lib/browser/debug-frontend-module.js +0 -110
- package/lib/browser/debug-frontend-module.js.map +0 -1
- package/lib/browser/debug-package.spec.d.ts +0 -1
- package/lib/browser/debug-package.spec.d.ts.map +0 -1
- package/lib/browser/debug-package.spec.js +0 -19
- package/lib/browser/debug-package.spec.js.map +0 -1
- package/lib/browser/debug-prefix-configuration.d.ts +0 -52
- package/lib/browser/debug-prefix-configuration.d.ts.map +0 -1
- package/lib/browser/debug-prefix-configuration.js +0 -202
- package/lib/browser/debug-prefix-configuration.js.map +0 -1
- package/lib/browser/debug-resource.d.ts +0 -15
- package/lib/browser/debug-resource.d.ts.map +0 -1
- package/lib/browser/debug-resource.js +0 -58
- package/lib/browser/debug-resource.js.map +0 -1
- package/lib/browser/debug-schema-updater.d.ts +0 -14
- package/lib/browser/debug-schema-updater.d.ts.map +0 -1
- package/lib/browser/debug-schema-updater.js +0 -161
- package/lib/browser/debug-schema-updater.js.map +0 -1
- package/lib/browser/debug-session-configuration-label-provider.d.ts +0 -11
- package/lib/browser/debug-session-configuration-label-provider.d.ts.map +0 -1
- package/lib/browser/debug-session-configuration-label-provider.js +0 -48
- package/lib/browser/debug-session-configuration-label-provider.js.map +0 -1
- package/lib/browser/debug-session-configuration-label-provider.spec.d.ts +0 -2
- package/lib/browser/debug-session-configuration-label-provider.spec.d.ts.map +0 -1
- package/lib/browser/debug-session-configuration-label-provider.spec.js +0 -84
- package/lib/browser/debug-session-configuration-label-provider.spec.js.map +0 -1
- package/lib/browser/debug-session-connection.d.ts +0 -111
- package/lib/browser/debug-session-connection.d.ts.map +0 -1
- package/lib/browser/debug-session-connection.js +0 -259
- package/lib/browser/debug-session-connection.js.map +0 -1
- package/lib/browser/debug-session-contribution.d.ts +0 -77
- package/lib/browser/debug-session-contribution.d.ts.map +0 -1
- package/lib/browser/debug-session-contribution.js +0 -143
- package/lib/browser/debug-session-contribution.js.map +0 -1
- package/lib/browser/debug-session-manager.d.ts +0 -138
- package/lib/browser/debug-session-manager.d.ts.map +0 -1
- package/lib/browser/debug-session-manager.js +0 -620
- package/lib/browser/debug-session-manager.js.map +0 -1
- package/lib/browser/debug-session-options.d.ts +0 -56
- package/lib/browser/debug-session-options.d.ts.map +0 -1
- package/lib/browser/debug-session-options.js +0 -92
- package/lib/browser/debug-session-options.js.map +0 -1
- package/lib/browser/debug-session.d.ts +0 -192
- package/lib/browser/debug-session.d.ts.map +0 -1
- package/lib/browser/debug-session.js +0 -913
- package/lib/browser/debug-session.js.map +0 -1
- package/lib/browser/debug-tab-bar-decorator.d.ts +0 -17
- package/lib/browser/debug-tab-bar-decorator.d.ts.map +0 -1
- package/lib/browser/debug-tab-bar-decorator.js +0 -63
- package/lib/browser/debug-tab-bar-decorator.js.map +0 -1
- package/lib/browser/debug-watch-manager.d.ts +0 -22
- package/lib/browser/debug-watch-manager.d.ts.map +0 -1
- package/lib/browser/debug-watch-manager.js +0 -86
- package/lib/browser/debug-watch-manager.js.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.d.ts +0 -7
- package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.d.ts.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.js +0 -39
- package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.js.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.d.ts +0 -20
- package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.d.ts.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.js +0 -111
- package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.js.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-contribution.d.ts +0 -25
- package/lib/browser/disassembly-view/disassembly-view-contribution.d.ts.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-contribution.js +0 -124
- package/lib/browser/disassembly-view/disassembly-view-contribution.js.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.d.ts +0 -39
- package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.d.ts.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.js +0 -213
- package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.js.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-table-delegate.d.ts +0 -16
- package/lib/browser/disassembly-view/disassembly-view-table-delegate.d.ts.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-table-delegate.js +0 -39
- package/lib/browser/disassembly-view/disassembly-view-table-delegate.js.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-utilities.d.ts +0 -38
- package/lib/browser/disassembly-view/disassembly-view-utilities.d.ts.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-utilities.js +0 -18
- package/lib/browser/disassembly-view/disassembly-view-utilities.js.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-widget.d.ts +0 -61
- package/lib/browser/disassembly-view/disassembly-view-widget.d.ts.map +0 -1
- package/lib/browser/disassembly-view/disassembly-view-widget.js +0 -446
- package/lib/browser/disassembly-view/disassembly-view-widget.js.map +0 -1
- package/lib/browser/editor/debug-breakpoint-widget.d.ts +0 -58
- package/lib/browser/editor/debug-breakpoint-widget.d.ts.map +0 -1
- package/lib/browser/editor/debug-breakpoint-widget.js +0 -270
- package/lib/browser/editor/debug-breakpoint-widget.js.map +0 -1
- package/lib/browser/editor/debug-editor-model.d.ts +0 -87
- package/lib/browser/editor/debug-editor-model.d.ts.map +0 -1
- package/lib/browser/editor/debug-editor-model.js +0 -499
- package/lib/browser/editor/debug-editor-model.js.map +0 -1
- package/lib/browser/editor/debug-editor-service.d.ts +0 -38
- package/lib/browser/editor/debug-editor-service.d.ts.map +0 -1
- package/lib/browser/editor/debug-editor-service.js +0 -183
- package/lib/browser/editor/debug-editor-service.js.map +0 -1
- package/lib/browser/editor/debug-editor.d.ts +0 -4
- package/lib/browser/editor/debug-editor.d.ts.map +0 -1
- package/lib/browser/editor/debug-editor.js +0 -20
- package/lib/browser/editor/debug-editor.js.map +0 -1
- package/lib/browser/editor/debug-exception-widget.d.ts +0 -30
- package/lib/browser/editor/debug-exception-widget.d.ts.map +0 -1
- package/lib/browser/editor/debug-exception-widget.js +0 -107
- package/lib/browser/editor/debug-exception-widget.js.map +0 -1
- package/lib/browser/editor/debug-expression-provider.d.ts +0 -17
- package/lib/browser/editor/debug-expression-provider.d.ts.map +0 -1
- package/lib/browser/editor/debug-expression-provider.js +0 -107
- package/lib/browser/editor/debug-expression-provider.js.map +0 -1
- package/lib/browser/editor/debug-hover-source.d.ts +0 -19
- package/lib/browser/editor/debug-hover-source.d.ts.map +0 -1
- package/lib/browser/editor/debug-hover-source.js +0 -110
- package/lib/browser/editor/debug-hover-source.js.map +0 -1
- package/lib/browser/editor/debug-hover-widget.d.ts +0 -61
- package/lib/browser/editor/debug-hover-widget.d.ts.map +0 -1
- package/lib/browser/editor/debug-hover-widget.js +0 -271
- package/lib/browser/editor/debug-hover-widget.js.map +0 -1
- package/lib/browser/editor/debug-inline-value-decorator.d.ts +0 -20
- package/lib/browser/editor/debug-inline-value-decorator.d.ts.map +0 -1
- package/lib/browser/editor/debug-inline-value-decorator.js +0 -326
- package/lib/browser/editor/debug-inline-value-decorator.js.map +0 -1
- package/lib/browser/model/debug-breakpoint.d.ts +0 -48
- package/lib/browser/model/debug-breakpoint.d.ts.map +0 -1
- package/lib/browser/model/debug-breakpoint.js +0 -111
- package/lib/browser/model/debug-breakpoint.js.map +0 -1
- package/lib/browser/model/debug-function-breakpoint.d.ts +0 -19
- package/lib/browser/model/debug-function-breakpoint.d.ts.map +0 -1
- package/lib/browser/model/debug-function-breakpoint.js +0 -93
- package/lib/browser/model/debug-function-breakpoint.js.map +0 -1
- package/lib/browser/model/debug-instruction-breakpoint.d.ts +0 -15
- package/lib/browser/model/debug-instruction-breakpoint.d.ts.map +0 -1
- package/lib/browser/model/debug-instruction-breakpoint.js +0 -66
- package/lib/browser/model/debug-instruction-breakpoint.js.map +0 -1
- package/lib/browser/model/debug-source-breakpoint.d.ts +0 -39
- package/lib/browser/model/debug-source-breakpoint.d.ts.map +0 -1
- package/lib/browser/model/debug-source-breakpoint.js +0 -219
- package/lib/browser/model/debug-source-breakpoint.js.map +0 -1
- package/lib/browser/model/debug-source.d.ts +0 -25
- package/lib/browser/model/debug-source.d.ts.map +0 -1
- package/lib/browser/model/debug-source.js +0 -81
- package/lib/browser/model/debug-source.js.map +0 -1
- package/lib/browser/model/debug-stack-frame.d.ts +0 -45
- package/lib/browser/model/debug-stack-frame.d.ts.map +0 -1
- package/lib/browser/model/debug-stack-frame.js +0 -157
- package/lib/browser/model/debug-stack-frame.js.map +0 -1
- package/lib/browser/model/debug-thread.d.ts +0 -68
- package/lib/browser/model/debug-thread.d.ts.map +0 -1
- package/lib/browser/model/debug-thread.js +0 -262
- package/lib/browser/model/debug-thread.js.map +0 -1
- package/lib/browser/view/debug-action.d.ts +0 -18
- package/lib/browser/view/debug-action.d.ts.map +0 -1
- package/lib/browser/view/debug-action.js +0 -44
- package/lib/browser/view/debug-action.js.map +0 -1
- package/lib/browser/view/debug-breakpoints-source.d.ts +0 -10
- package/lib/browser/view/debug-breakpoints-source.d.ts.map +0 -1
- package/lib/browser/view/debug-breakpoints-source.js +0 -63
- package/lib/browser/view/debug-breakpoints-source.js.map +0 -1
- package/lib/browser/view/debug-breakpoints-widget.d.ts +0 -23
- package/lib/browser/view/debug-breakpoints-widget.d.ts.map +0 -1
- package/lib/browser/view/debug-breakpoints-widget.js +0 -81
- package/lib/browser/view/debug-breakpoints-widget.js.map +0 -1
- package/lib/browser/view/debug-configuration-select.d.ts +0 -67
- package/lib/browser/view/debug-configuration-select.d.ts.map +0 -1
- package/lib/browser/view/debug-configuration-select.js +0 -212
- package/lib/browser/view/debug-configuration-select.js.map +0 -1
- package/lib/browser/view/debug-configuration-widget.d.ts +0 -33
- package/lib/browser/view/debug-configuration-widget.d.ts.map +0 -1
- package/lib/browser/view/debug-configuration-widget.js +0 -137
- package/lib/browser/view/debug-configuration-widget.js.map +0 -1
- package/lib/browser/view/debug-exception-breakpoint.d.ts +0 -15
- package/lib/browser/view/debug-exception-breakpoint.d.ts.map +0 -1
- package/lib/browser/view/debug-exception-breakpoint.js +0 -62
- package/lib/browser/view/debug-exception-breakpoint.js.map +0 -1
- package/lib/browser/view/debug-session-widget.d.ts +0 -29
- package/lib/browser/view/debug-session-widget.d.ts.map +0 -1
- package/lib/browser/view/debug-session-widget.js +0 -127
- package/lib/browser/view/debug-session-widget.js.map +0 -1
- package/lib/browser/view/debug-stack-frames-source.d.ts +0 -18
- package/lib/browser/view/debug-stack-frames-source.d.ts.map +0 -1
- package/lib/browser/view/debug-stack-frames-source.js +0 -83
- package/lib/browser/view/debug-stack-frames-source.js.map +0 -1
- package/lib/browser/view/debug-stack-frames-widget.d.ts +0 -25
- package/lib/browser/view/debug-stack-frames-widget.d.ts.map +0 -1
- package/lib/browser/view/debug-stack-frames-widget.js +0 -147
- package/lib/browser/view/debug-stack-frames-widget.js.map +0 -1
- package/lib/browser/view/debug-threads-source.d.ts +0 -9
- package/lib/browser/view/debug-threads-source.d.ts.map +0 -1
- package/lib/browser/view/debug-threads-source.js +0 -56
- package/lib/browser/view/debug-threads-source.js.map +0 -1
- package/lib/browser/view/debug-threads-widget.d.ts +0 -27
- package/lib/browser/view/debug-threads-widget.d.ts.map +0 -1
- package/lib/browser/view/debug-threads-widget.js +0 -139
- package/lib/browser/view/debug-threads-widget.js.map +0 -1
- package/lib/browser/view/debug-toolbar-widget.d.ts +0 -34
- package/lib/browser/view/debug-toolbar-widget.d.ts.map +0 -1
- package/lib/browser/view/debug-toolbar-widget.js +0 -139
- package/lib/browser/view/debug-toolbar-widget.js.map +0 -1
- package/lib/browser/view/debug-variables-source.d.ts +0 -10
- package/lib/browser/view/debug-variables-source.d.ts.map +0 -1
- package/lib/browser/view/debug-variables-source.js +0 -53
- package/lib/browser/view/debug-variables-source.js.map +0 -1
- package/lib/browser/view/debug-variables-widget.d.ts +0 -17
- package/lib/browser/view/debug-variables-widget.d.ts.map +0 -1
- package/lib/browser/view/debug-variables-widget.js +0 -71
- package/lib/browser/view/debug-variables-widget.js.map +0 -1
- package/lib/browser/view/debug-view-model.d.ts +0 -53
- package/lib/browser/view/debug-view-model.d.ts.map +0 -1
- package/lib/browser/view/debug-view-model.js +0 -212
- package/lib/browser/view/debug-view-model.js.map +0 -1
- package/lib/browser/view/debug-watch-expression.d.ts +0 -33
- package/lib/browser/view/debug-watch-expression.d.ts.map +0 -1
- package/lib/browser/view/debug-watch-expression.js +0 -93
- package/lib/browser/view/debug-watch-expression.js.map +0 -1
- package/lib/browser/view/debug-watch-source.d.ts +0 -10
- package/lib/browser/view/debug-watch-source.d.ts.map +0 -1
- package/lib/browser/view/debug-watch-source.js +0 -51
- package/lib/browser/view/debug-watch-source.js.map +0 -1
- package/lib/browser/view/debug-watch-widget.d.ts +0 -17
- package/lib/browser/view/debug-watch-widget.d.ts.map +0 -1
- package/lib/browser/view/debug-watch-widget.js +0 -71
- package/lib/browser/view/debug-watch-widget.js.map +0 -1
- package/lib/browser/view/debug-widget.d.ts +0 -24
- package/lib/browser/view/debug-widget.d.ts.map +0 -1
- package/lib/browser/view/debug-widget.js +0 -101
- package/lib/browser/view/debug-widget.js.map +0 -1
- package/lib/common/debug-adapter-contribution-registry.d.ts +0 -60
- package/lib/common/debug-adapter-contribution-registry.d.ts.map +0 -1
- package/lib/common/debug-adapter-contribution-registry.js +0 -205
- package/lib/common/debug-adapter-contribution-registry.js.map +0 -1
- package/lib/common/debug-adapter-session.d.ts +0 -19
- package/lib/common/debug-adapter-session.d.ts.map +0 -1
- package/lib/common/debug-adapter-session.js +0 -79
- package/lib/common/debug-adapter-session.js.map +0 -1
- package/lib/common/debug-common.d.ts +0 -2
- package/lib/common/debug-common.d.ts.map +0 -1
- package/lib/common/debug-common.js +0 -21
- package/lib/common/debug-common.js.map +0 -1
- package/lib/common/debug-compound.d.ts +0 -15
- package/lib/common/debug-compound.d.ts.map +0 -1
- package/lib/common/debug-compound.js +0 -28
- package/lib/common/debug-compound.js.map +0 -1
- package/lib/common/debug-configuration.d.ts +0 -77
- package/lib/common/debug-configuration.d.ts.map +0 -1
- package/lib/common/debug-configuration.js +0 -32
- package/lib/common/debug-configuration.js.map +0 -1
- package/lib/common/debug-model.d.ts +0 -153
- package/lib/common/debug-model.d.ts.map +0 -1
- package/lib/common/debug-model.js +0 -36
- package/lib/common/debug-model.js.map +0 -1
- package/lib/common/debug-preferences.d.ts +0 -18
- package/lib/common/debug-preferences.d.ts.map +0 -1
- package/lib/common/debug-preferences.js +0 -89
- package/lib/common/debug-preferences.js.map +0 -1
- package/lib/common/debug-service.d.ts +0 -124
- package/lib/common/debug-service.d.ts.map +0 -1
- package/lib/common/debug-service.js +0 -67
- package/lib/common/debug-service.js.map +0 -1
- package/lib/common/debug-uri-utils.d.ts +0 -24
- package/lib/common/debug-uri-utils.d.ts.map +0 -1
- package/lib/common/debug-uri-utils.js +0 -27
- package/lib/common/debug-uri-utils.js.map +0 -1
- package/lib/common/inline-debug-adapter.d.ts +0 -19
- package/lib/common/inline-debug-adapter.d.ts.map +0 -1
- package/lib/common/inline-debug-adapter.js +0 -45
- package/lib/common/inline-debug-adapter.js.map +0 -1
- package/lib/common/launch-preferences.d.ts +0 -6
- package/lib/common/launch-preferences.d.ts.map +0 -1
- package/lib/common/launch-preferences.js +0 -37
- package/lib/common/launch-preferences.js.map +0 -1
- package/lib/node/debug-adapter-factory.d.ts +0 -20
- package/lib/node/debug-adapter-factory.d.ts.map +0 -1
- package/lib/node/debug-adapter-factory.js +0 -89
- package/lib/node/debug-adapter-factory.js.map +0 -1
- package/lib/node/debug-adapter-session-manager.d.ts +0 -38
- package/lib/node/debug-adapter-session-manager.d.ts.map +0 -1
- package/lib/node/debug-adapter-session-manager.js +0 -104
- package/lib/node/debug-adapter-session-manager.js.map +0 -1
- package/lib/node/debug-backend-module.d.ts +0 -4
- package/lib/node/debug-backend-module.d.ts.map +0 -1
- package/lib/node/debug-backend-module.js +0 -45
- package/lib/node/debug-backend-module.js.map +0 -1
- package/lib/node/debug-service-impl.d.ts +0 -31
- package/lib/node/debug-service-impl.d.ts.map +0 -1
- package/lib/node/debug-service-impl.js +0 -117
- package/lib/node/debug-service-impl.js.map +0 -1
- package/lib/node/stream-debug-adapter.d.ts +0 -41
- package/lib/node/stream-debug-adapter.d.ts.map +0 -1
- package/lib/node/stream-debug-adapter.js +0 -113
- package/lib/node/stream-debug-adapter.js.map +0 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2025 EclipseSource GmbH and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { nls } from '@theia/core';
|
|
18
|
+
import * as React from '@theia/core/shared/react';
|
|
19
|
+
import { BreakpointManager } from '../breakpoint/breakpoint-manager';
|
|
20
|
+
import { DataBreakpoint } from '../breakpoint/breakpoint-marker';
|
|
21
|
+
import { DebugBreakpoint, DebugBreakpointDecoration, DebugBreakpointOptions } from './debug-breakpoint';
|
|
22
|
+
|
|
23
|
+
export class DebugDataBreakpoint extends DebugBreakpoint<DataBreakpoint> {
|
|
24
|
+
constructor(readonly origin: DataBreakpoint, options: DebugBreakpointOptions) {
|
|
25
|
+
super(BreakpointManager.DATA_URI, options);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
setEnabled(enabled: boolean): void {
|
|
29
|
+
if (enabled !== this.origin.enabled) {
|
|
30
|
+
this.breakpoints.updateDataBreakpoint(this.origin.id, { enabled });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
protected override isEnabled(): boolean {
|
|
35
|
+
return super.isEnabled() && this.isSupported();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
protected isSupported(): boolean {
|
|
39
|
+
return Boolean(this.session?.capabilities.supportsDataBreakpoints);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
remove(): void {
|
|
43
|
+
this.breakpoints.removeDataBreakpoint(this.origin.id);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
protected doRender(): React.ReactNode {
|
|
47
|
+
return <span className="line-info theia-data-breakpoint" title={this.origin.info.description}>
|
|
48
|
+
<span className="name">{this.origin.info.description}</span>
|
|
49
|
+
<span className="theia-TreeNodeInfo theia-access-type" >{this.getAccessType()}</span>
|
|
50
|
+
</span>;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
protected getAccessType(): string {
|
|
54
|
+
switch (this.origin.raw.accessType) {
|
|
55
|
+
case 'read': return 'Read';
|
|
56
|
+
case 'write': return 'Write';
|
|
57
|
+
default: return 'Access';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
protected getBreakpointDecoration(message?: string[]): DebugBreakpointDecoration {
|
|
62
|
+
if (!this.isSupported()) {
|
|
63
|
+
return {
|
|
64
|
+
className: 'codicon-debug-breakpoint-unsupported',
|
|
65
|
+
message: message ?? [nls.localize('theia/debug/data-breakpoint', 'Data Breakpoint')],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (this.origin.raw.condition || this.origin.raw.hitCondition) {
|
|
69
|
+
return {
|
|
70
|
+
className: 'codicon-debug-breakpoint-conditional',
|
|
71
|
+
message: message || [nls.localize('theia/debug/conditionalBreakpoint', 'Conditional Breakpoint')]
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
className: 'codicon-debug-breakpoint-data',
|
|
76
|
+
message: message || [nls.localize('theia/debug/data-breakpoint', 'Data Breakpoint')]
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -39,15 +39,9 @@ export class DebugBreakpointsSource extends TreeSource {
|
|
|
39
39
|
for (const exceptionBreakpoint of this.breakpoints.getExceptionBreakpoints()) {
|
|
40
40
|
yield new DebugExceptionBreakpoint(exceptionBreakpoint, this.breakpoints);
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
yield instructionBreakpoint;
|
|
47
|
-
}
|
|
48
|
-
for (const breakpoint of this.model.breakpoints) {
|
|
49
|
-
yield breakpoint;
|
|
50
|
-
}
|
|
42
|
+
yield* this.model.dataBreakpoints;
|
|
43
|
+
yield* this.model.functionBreakpoints;
|
|
44
|
+
yield* this.model.instructionBreakpoints;
|
|
45
|
+
yield* this.model.breakpoints;
|
|
51
46
|
}
|
|
52
|
-
|
|
53
47
|
}
|
|
@@ -122,8 +122,12 @@ export class DebugStackFramesWidget extends SourceTreeWidget {
|
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
protected override tapNode(node?: TreeNode): void {
|
|
125
|
-
if (TreeElementNode.is(node)
|
|
126
|
-
node.element
|
|
125
|
+
if (TreeElementNode.is(node)) {
|
|
126
|
+
if (node.element instanceof LoadMoreStackFrames) {
|
|
127
|
+
node.element.open();
|
|
128
|
+
} else if (node.element instanceof DebugStackFrame) {
|
|
129
|
+
node.element.open({ preview: true });
|
|
130
|
+
}
|
|
127
131
|
}
|
|
128
132
|
super.tapNode(node);
|
|
129
133
|
}
|
|
@@ -15,11 +15,16 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, postConstruct, interfaces, Container } from '@theia/core/shared/inversify';
|
|
18
|
-
import { MenuPath } from '@theia/core/lib/common';
|
|
19
|
-
import { SourceTreeWidget } from '@theia/core/lib/browser/source-tree';
|
|
18
|
+
import { MenuPath, Disposable, CommandRegistry, MenuModelRegistry, DisposableCollection, Command } from '@theia/core/lib/common';
|
|
19
|
+
import { SourceTreeWidget, TreeElementNode } from '@theia/core/lib/browser/source-tree';
|
|
20
20
|
import { DebugVariablesSource } from './debug-variables-source';
|
|
21
21
|
import { DebugViewModel } from './debug-view-model';
|
|
22
22
|
import { nls } from '@theia/core/lib/common/nls';
|
|
23
|
+
import { MouseEvent } from '@theia/core/shared/react';
|
|
24
|
+
import { SelectableTreeNode, TreeNode, TreeSelection } from '@theia/core/lib/browser';
|
|
25
|
+
import { DebugVariable } from '../console/debug-console-items';
|
|
26
|
+
import { BreakpointManager } from '../breakpoint/breakpoint-manager';
|
|
27
|
+
import { DataBreakpoint, DataBreakpointSource, DataBreakpointSourceType } from '../breakpoint/breakpoint-marker';
|
|
23
28
|
|
|
24
29
|
@injectable()
|
|
25
30
|
export class DebugVariablesWidget extends SourceTreeWidget {
|
|
@@ -27,6 +32,7 @@ export class DebugVariablesWidget extends SourceTreeWidget {
|
|
|
27
32
|
static CONTEXT_MENU: MenuPath = ['debug-variables-context-menu'];
|
|
28
33
|
static EDIT_MENU: MenuPath = [...DebugVariablesWidget.CONTEXT_MENU, 'a_edit'];
|
|
29
34
|
static WATCH_MENU: MenuPath = [...DebugVariablesWidget.CONTEXT_MENU, 'b_watch'];
|
|
35
|
+
static DATA_BREAKPOINT_MENU: MenuPath = [...DebugVariablesWidget.CONTEXT_MENU, 'c_data_breakpoints'];
|
|
30
36
|
static FACTORY_ID = 'debug:variables';
|
|
31
37
|
static override createContainer(parent: interfaces.Container): Container {
|
|
32
38
|
const child = SourceTreeWidget.createContainer(parent, {
|
|
@@ -49,6 +55,15 @@ export class DebugVariablesWidget extends SourceTreeWidget {
|
|
|
49
55
|
@inject(DebugVariablesSource)
|
|
50
56
|
protected readonly variables: DebugVariablesSource;
|
|
51
57
|
|
|
58
|
+
@inject(CommandRegistry)
|
|
59
|
+
protected readonly commandRegistry: CommandRegistry;
|
|
60
|
+
|
|
61
|
+
@inject(MenuModelRegistry)
|
|
62
|
+
protected readonly menuRegistry: MenuModelRegistry;
|
|
63
|
+
|
|
64
|
+
@inject(BreakpointManager)
|
|
65
|
+
protected readonly breakpointManager: BreakpointManager;
|
|
66
|
+
|
|
52
67
|
@postConstruct()
|
|
53
68
|
protected override init(): void {
|
|
54
69
|
super.init();
|
|
@@ -58,4 +73,86 @@ export class DebugVariablesWidget extends SourceTreeWidget {
|
|
|
58
73
|
this.source = this.variables;
|
|
59
74
|
}
|
|
60
75
|
|
|
76
|
+
protected override handleContextMenuEvent(node: TreeNode | undefined, event: MouseEvent<HTMLElement>): void {
|
|
77
|
+
this.doHandleContextMenuEvent(node, event);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
protected async doHandleContextMenuEvent(node: TreeNode | undefined, event: MouseEvent<HTMLElement>): Promise<void> {
|
|
81
|
+
event.stopPropagation();
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
if (!SelectableTreeNode.is(node) || !TreeElementNode.is(node)) { return; }
|
|
84
|
+
// Keep the selection for the context menu, if the widget support multi-selection and the right click happens on an already selected node.
|
|
85
|
+
if (!this.props.multiSelect || !node.selected) {
|
|
86
|
+
const type = !!this.props.multiSelect && this.hasCtrlCmdMask(event) ? TreeSelection.SelectionType.TOGGLE : TreeSelection.SelectionType.DEFAULT;
|
|
87
|
+
this.model.addSelection({ node, type });
|
|
88
|
+
}
|
|
89
|
+
this.focusService.setFocus(node);
|
|
90
|
+
const contextMenuPath = this.props.contextMenuPath;
|
|
91
|
+
if (contextMenuPath) {
|
|
92
|
+
const { x, y } = event.nativeEvent;
|
|
93
|
+
const args = this.toContextMenuArgs(node);
|
|
94
|
+
const target = event.currentTarget;
|
|
95
|
+
const toDisposeOnHide = await this.getVariableCommands(node);
|
|
96
|
+
setTimeout(() => this.contextMenuRenderer.render({
|
|
97
|
+
menuPath: contextMenuPath,
|
|
98
|
+
context: target,
|
|
99
|
+
anchor: { x, y },
|
|
100
|
+
args,
|
|
101
|
+
onHide: () => toDisposeOnHide.dispose()
|
|
102
|
+
}), 10);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
protected async getVariableCommands(node: TreeElementNode): Promise<Disposable> {
|
|
107
|
+
const selectedElement = node.element;
|
|
108
|
+
const { viewModel: { currentSession } } = this;
|
|
109
|
+
if (!currentSession?.capabilities.supportsDataBreakpoints || !(selectedElement instanceof DebugVariable)) {
|
|
110
|
+
return Disposable.NULL;
|
|
111
|
+
}
|
|
112
|
+
const { name, parent: { reference } } = selectedElement;
|
|
113
|
+
const dataBreakpointInfo = (await currentSession.sendRequest('dataBreakpointInfo', { name, variablesReference: reference })).body;
|
|
114
|
+
// eslint-disable-next-line no-null/no-null
|
|
115
|
+
if (dataBreakpointInfo.dataId === null) {
|
|
116
|
+
return Disposable.NULL;
|
|
117
|
+
}
|
|
118
|
+
const source: DataBreakpointSource = { type: DataBreakpointSourceType.Variable, variable: name };
|
|
119
|
+
return new DisposableCollection(
|
|
120
|
+
this.commandRegistry.registerCommand(Command.toDefaultLocalizedCommand({
|
|
121
|
+
id: `break-on-access:${currentSession.id}:${name}`,
|
|
122
|
+
label: 'Break on Value Access'
|
|
123
|
+
}), {
|
|
124
|
+
execute: () => this.breakpointManager.addDataBreakpoint(DataBreakpoint.create(
|
|
125
|
+
{ accessType: 'readWrite', dataId: dataBreakpointInfo.dataId! },
|
|
126
|
+
dataBreakpointInfo,
|
|
127
|
+
source
|
|
128
|
+
)),
|
|
129
|
+
isEnabled: () => !!dataBreakpointInfo.accessTypes?.includes('readWrite'),
|
|
130
|
+
}),
|
|
131
|
+
this.menuRegistry.registerMenuAction(DebugVariablesWidget.DATA_BREAKPOINT_MENU, { commandId: `break-on-access:${currentSession.id}:${name}`, order: 'c' }),
|
|
132
|
+
this.commandRegistry.registerCommand(Command.toDefaultLocalizedCommand({
|
|
133
|
+
id: `break-on-read:${currentSession.id}:${name}`,
|
|
134
|
+
label: 'Break on Value Read'
|
|
135
|
+
}), {
|
|
136
|
+
execute: () => this.breakpointManager.addDataBreakpoint(DataBreakpoint.create(
|
|
137
|
+
{ accessType: 'read', dataId: dataBreakpointInfo.dataId! },
|
|
138
|
+
dataBreakpointInfo,
|
|
139
|
+
source
|
|
140
|
+
)),
|
|
141
|
+
isEnabled: () => !!dataBreakpointInfo.accessTypes?.includes('read'),
|
|
142
|
+
}),
|
|
143
|
+
this.menuRegistry.registerMenuAction(DebugVariablesWidget.DATA_BREAKPOINT_MENU, { commandId: `break-on-read:${currentSession.id}:${name}`, order: 'a' }),
|
|
144
|
+
this.commandRegistry.registerCommand(Command.toDefaultLocalizedCommand({
|
|
145
|
+
id: `break-on-write:${currentSession.id}:${name}`,
|
|
146
|
+
label: 'Break on Value Change'
|
|
147
|
+
}), {
|
|
148
|
+
execute: () => this.breakpointManager.addDataBreakpoint(DataBreakpoint.create(
|
|
149
|
+
{ accessType: 'write', dataId: dataBreakpointInfo.dataId! },
|
|
150
|
+
dataBreakpointInfo,
|
|
151
|
+
source
|
|
152
|
+
)),
|
|
153
|
+
isEnabled: () => !!dataBreakpointInfo.accessTypes?.includes('write'),
|
|
154
|
+
}),
|
|
155
|
+
this.menuRegistry.registerMenuAction(DebugVariablesWidget.DATA_BREAKPOINT_MENU, { commandId: `break-on-write:${currentSession.id}:${name}`, order: 'b' }),
|
|
156
|
+
);
|
|
157
|
+
}
|
|
61
158
|
}
|
|
@@ -28,6 +28,7 @@ import { DebugWatchManager } from '../debug-watch-manager';
|
|
|
28
28
|
import { DebugFunctionBreakpoint } from '../model/debug-function-breakpoint';
|
|
29
29
|
import { DebugInstructionBreakpoint } from '../model/debug-instruction-breakpoint';
|
|
30
30
|
import { DebugSessionOptionsBase } from '../debug-session-options';
|
|
31
|
+
import { DebugDataBreakpoint } from '../model/debug-data-breakpoint';
|
|
31
32
|
|
|
32
33
|
@injectable()
|
|
33
34
|
export class DebugViewModel implements Disposable {
|
|
@@ -137,6 +138,10 @@ export class DebugViewModel implements Disposable {
|
|
|
137
138
|
return this.manager.getInstructionBreakpoints(this.currentSession);
|
|
138
139
|
}
|
|
139
140
|
|
|
141
|
+
get dataBreakpoints(): DebugDataBreakpoint[] {
|
|
142
|
+
return this.manager.getDataBreakpoints(this.currentSession);
|
|
143
|
+
}
|
|
144
|
+
|
|
140
145
|
async start(options: Partial<Pick<DebugSessionOptionsBase, 'startedByUser'>> = {}): Promise<void> {
|
|
141
146
|
const { session } = this;
|
|
142
147
|
if (!session) {
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Emitter } from '@theia/core/lib/common';
|
|
2
|
-
import { StorageService } from '@theia/core/lib/browser';
|
|
3
|
-
import { Marker } from '@theia/markers/lib/common/marker';
|
|
4
|
-
import { MarkerManager } from '@theia/markers/lib/browser/marker-manager';
|
|
5
|
-
import URI from '@theia/core/lib/common/uri';
|
|
6
|
-
import { SourceBreakpoint, ExceptionBreakpoint, FunctionBreakpoint, BaseBreakpoint, InstructionBreakpoint } from './breakpoint-marker';
|
|
7
|
-
export interface BreakpointsChangeEvent<T extends BaseBreakpoint> {
|
|
8
|
-
uri: URI;
|
|
9
|
-
added: T[];
|
|
10
|
-
removed: T[];
|
|
11
|
-
changed: T[];
|
|
12
|
-
}
|
|
13
|
-
export type SourceBreakpointsChangeEvent = BreakpointsChangeEvent<SourceBreakpoint>;
|
|
14
|
-
export type FunctionBreakpointsChangeEvent = BreakpointsChangeEvent<FunctionBreakpoint>;
|
|
15
|
-
export type InstructionBreakpointsChangeEvent = BreakpointsChangeEvent<InstructionBreakpoint>;
|
|
16
|
-
export declare class BreakpointManager extends MarkerManager<SourceBreakpoint> {
|
|
17
|
-
static EXCEPTION_URI: URI;
|
|
18
|
-
static FUNCTION_URI: URI;
|
|
19
|
-
static INSTRUCTION_URI: URI;
|
|
20
|
-
protected readonly owner = "breakpoint";
|
|
21
|
-
protected readonly storage: StorageService;
|
|
22
|
-
getKind(): string;
|
|
23
|
-
protected readonly onDidChangeBreakpointsEmitter: Emitter<SourceBreakpointsChangeEvent>;
|
|
24
|
-
readonly onDidChangeBreakpoints: import("@theia/core/lib/common").Event<SourceBreakpointsChangeEvent>;
|
|
25
|
-
protected readonly onDidChangeFunctionBreakpointsEmitter: Emitter<FunctionBreakpointsChangeEvent>;
|
|
26
|
-
readonly onDidChangeFunctionBreakpoints: import("@theia/core/lib/common").Event<FunctionBreakpointsChangeEvent>;
|
|
27
|
-
protected readonly onDidChangeInstructionBreakpointsEmitter: Emitter<InstructionBreakpointsChangeEvent>;
|
|
28
|
-
readonly onDidChangeInstructionBreakpoints: import("@theia/core/lib/common").Event<InstructionBreakpointsChangeEvent>;
|
|
29
|
-
setMarkers(uri: URI, owner: string, newMarkers: SourceBreakpoint[]): Marker<SourceBreakpoint>[];
|
|
30
|
-
getLineBreakpoints(uri: URI, line: number): SourceBreakpoint[];
|
|
31
|
-
getInlineBreakpoint(uri: URI, line: number, column: number): SourceBreakpoint | undefined;
|
|
32
|
-
getBreakpoints(uri?: URI): SourceBreakpoint[];
|
|
33
|
-
setBreakpoints(uri: URI, breakpoints: SourceBreakpoint[]): void;
|
|
34
|
-
addBreakpoint(breakpoint: SourceBreakpoint): boolean;
|
|
35
|
-
enableAllBreakpoints(enabled: boolean): void;
|
|
36
|
-
protected _breakpointsEnabled: boolean;
|
|
37
|
-
get breakpointsEnabled(): boolean;
|
|
38
|
-
set breakpointsEnabled(breakpointsEnabled: boolean);
|
|
39
|
-
protected readonly exceptionBreakpoints: Map<string, ExceptionBreakpoint>;
|
|
40
|
-
getExceptionBreakpoint(filter: string): ExceptionBreakpoint | undefined;
|
|
41
|
-
getExceptionBreakpoints(): IterableIterator<ExceptionBreakpoint>;
|
|
42
|
-
setExceptionBreakpoints(exceptionBreakpoints: ExceptionBreakpoint[]): void;
|
|
43
|
-
toggleExceptionBreakpoint(filter: string): void;
|
|
44
|
-
updateExceptionBreakpoint(filter: string, options: Partial<Pick<ExceptionBreakpoint, 'condition' | 'enabled'>>): void;
|
|
45
|
-
protected functionBreakpoints: FunctionBreakpoint[];
|
|
46
|
-
getFunctionBreakpoints(): FunctionBreakpoint[];
|
|
47
|
-
setFunctionBreakpoints(functionBreakpoints: FunctionBreakpoint[]): void;
|
|
48
|
-
protected instructionBreakpoints: InstructionBreakpoint[];
|
|
49
|
-
getInstructionBreakpoints(): ReadonlyArray<InstructionBreakpoint>;
|
|
50
|
-
hasBreakpoints(): boolean;
|
|
51
|
-
protected setInstructionBreakpoints(newBreakpoints: InstructionBreakpoint[]): void;
|
|
52
|
-
addInstructionBreakpoint(address: string, offset: number, condition?: string, hitCondition?: string): void;
|
|
53
|
-
updateInstructionBreakpoint(id: string, options: Partial<Pick<InstructionBreakpoint, 'condition' | 'hitCondition' | 'enabled'>>): void;
|
|
54
|
-
removeInstructionBreakpoint(address?: string): void;
|
|
55
|
-
clearInstructionBreakpoints(): void;
|
|
56
|
-
removeBreakpoints(): void;
|
|
57
|
-
load(): Promise<void>;
|
|
58
|
-
save(): void;
|
|
59
|
-
}
|
|
60
|
-
export declare namespace BreakpointManager {
|
|
61
|
-
interface Data {
|
|
62
|
-
breakpointsEnabled: boolean;
|
|
63
|
-
breakpoints: {
|
|
64
|
-
[uri: string]: SourceBreakpoint[];
|
|
65
|
-
};
|
|
66
|
-
exceptionBreakpoints?: ExceptionBreakpoint[];
|
|
67
|
-
functionBreakpoints?: FunctionBreakpoint[];
|
|
68
|
-
instructionBreakpoints?: InstructionBreakpoint[];
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=breakpoint-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breakpoint-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/breakpoint/breakpoint-manager.ts"],"names":[],"mappings":"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"}
|