@codingame/monaco-vscode-debug-service-override 4.5.0 → 4.5.2
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/index.d.ts +1 -1
- package/package.json +2 -2
- package/vscode/src/vs/platform/debug/common/extensionHostDebugIpc.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +105 -150
- package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +258 -529
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +28 -48
- package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +44 -71
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +84 -163
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +116 -120
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +7 -10
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +78 -140
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +72 -75
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +25 -28
- package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +16 -48
- package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +140 -132
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +218 -175
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +5 -18
- package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +9 -17
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +69 -110
- package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +68 -53
- package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +77 -56
- package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +50 -75
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +13 -29
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +22 -51
- package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +47 -73
- package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +60 -76
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +14 -43
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +23 -42
- package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +17 -16
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +56 -94
- package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +40 -79
- package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +55 -57
- package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +14 -28
- package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +12 -15
- package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +71 -146
- package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +92 -111
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +5 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +5 -12
- package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +42 -22
- package/debug.d.ts +0 -5
|
@@ -29,6 +29,7 @@ import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/d
|
|
|
29
29
|
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
30
30
|
import { IWorkbenchLayoutService } from 'vscode/vscode/vs/workbench/services/layout/browser/layoutService.service';
|
|
31
31
|
|
|
32
|
+
const _moduleId = "vs/workbench/contrib/debug/browser/debugViewlet";
|
|
32
33
|
let DebugViewPaneContainer = class DebugViewPaneContainer extends ViewPaneContainer {
|
|
33
34
|
constructor(layoutService, telemetryService, progressService, debugService, instantiationService, contextService, storageService, themeService, contextMenuService, extensionService, configurationService, contextViewService, contextKeyService, viewDescriptorService) {
|
|
34
35
|
super(VIEWLET_ID, { mergeViewWithContainerWhenSingleView: true }, instantiationService, configurationService, layoutService, contextMenuService, telemetryService, extensionService, themeService, storageService, contextService, viewDescriptorService);
|
|
@@ -36,11 +37,11 @@ let DebugViewPaneContainer = class DebugViewPaneContainer extends ViewPaneContai
|
|
|
36
37
|
this.debugService = debugService;
|
|
37
38
|
this.contextViewService = contextViewService;
|
|
38
39
|
this.contextKeyService = contextKeyService;
|
|
39
|
-
this.paneListeners = ( new Map());
|
|
40
|
-
this.stopActionViewItemDisposables = this._register(( new DisposableStore()));
|
|
40
|
+
this.paneListeners = ( (new Map()));
|
|
41
|
+
this.stopActionViewItemDisposables = this._register(( (new DisposableStore())));
|
|
41
42
|
this._register(this.debugService.onDidChangeState(state => this.onDebugServiceStateChange(state)));
|
|
42
43
|
this._register(this.contextKeyService.onDidChangeContext(e => {
|
|
43
|
-
if (e.affectsSome(( new Set([CONTEXT_DEBUG_UX_KEY, 'inDebugMode'])))) {
|
|
44
|
+
if (e.affectsSome(( (new Set([CONTEXT_DEBUG_UX_KEY, 'inDebugMode']))))) {
|
|
44
45
|
this.updateTitleArea();
|
|
45
46
|
}
|
|
46
47
|
}));
|
|
@@ -70,13 +71,15 @@ let DebugViewPaneContainer = class DebugViewPaneContainer extends ViewPaneContai
|
|
|
70
71
|
return this.startDebugActionViewItem;
|
|
71
72
|
}
|
|
72
73
|
if (action.id === FOCUS_SESSION_ID) {
|
|
73
|
-
return (
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
74
|
+
return (
|
|
75
|
+
(new FocusSessionActionViewItem(
|
|
76
|
+
action,
|
|
77
|
+
undefined,
|
|
78
|
+
this.debugService,
|
|
79
|
+
this.contextViewService,
|
|
80
|
+
this.configurationService
|
|
81
|
+
))
|
|
82
|
+
);
|
|
80
83
|
}
|
|
81
84
|
if (action.id === STOP_ID || action.id === DISCONNECT_ID) {
|
|
82
85
|
this.stopActionViewItemDisposables.clear();
|
|
@@ -100,7 +103,9 @@ let DebugViewPaneContainer = class DebugViewPaneContainer extends ViewPaneContai
|
|
|
100
103
|
}
|
|
101
104
|
if (state === 1 ) {
|
|
102
105
|
this.progressService.withProgress({ location: VIEWLET_ID, }, _progress => {
|
|
103
|
-
return (
|
|
106
|
+
return (
|
|
107
|
+
(new Promise(resolve => this.progressResolve = resolve))
|
|
108
|
+
);
|
|
104
109
|
});
|
|
105
110
|
}
|
|
106
111
|
}
|
|
@@ -130,31 +135,40 @@ let DebugViewPaneContainer = class DebugViewPaneContainer extends ViewPaneContai
|
|
|
130
135
|
}
|
|
131
136
|
}
|
|
132
137
|
};
|
|
133
|
-
DebugViewPaneContainer = ( __decorate([
|
|
134
|
-
( __param(0, IWorkbenchLayoutService)),
|
|
135
|
-
( __param(1, ITelemetryService)),
|
|
136
|
-
( __param(2, IProgressService)),
|
|
137
|
-
( __param(3, IDebugService)),
|
|
138
|
-
( __param(4, IInstantiationService)),
|
|
139
|
-
( __param(5, IWorkspaceContextService)),
|
|
140
|
-
( __param(6, IStorageService)),
|
|
141
|
-
( __param(7, IThemeService)),
|
|
142
|
-
( __param(8, IContextMenuService)),
|
|
143
|
-
( __param(9, IExtensionService)),
|
|
144
|
-
( __param(10, IConfigurationService)),
|
|
145
|
-
( __param(11, IContextViewService)),
|
|
146
|
-
( __param(12, IContextKeyService)),
|
|
147
|
-
( __param(13, IViewDescriptorService))
|
|
148
|
-
], DebugViewPaneContainer));
|
|
138
|
+
DebugViewPaneContainer = ( (__decorate([
|
|
139
|
+
( (__param(0, IWorkbenchLayoutService))),
|
|
140
|
+
( (__param(1, ITelemetryService))),
|
|
141
|
+
( (__param(2, IProgressService))),
|
|
142
|
+
( (__param(3, IDebugService))),
|
|
143
|
+
( (__param(4, IInstantiationService))),
|
|
144
|
+
( (__param(5, IWorkspaceContextService))),
|
|
145
|
+
( (__param(6, IStorageService))),
|
|
146
|
+
( (__param(7, IThemeService))),
|
|
147
|
+
( (__param(8, IContextMenuService))),
|
|
148
|
+
( (__param(9, IExtensionService))),
|
|
149
|
+
( (__param(10, IConfigurationService))),
|
|
150
|
+
( (__param(11, IContextViewService))),
|
|
151
|
+
( (__param(12, IContextKeyService))),
|
|
152
|
+
( (__param(13, IViewDescriptorService)))
|
|
153
|
+
], DebugViewPaneContainer)));
|
|
149
154
|
MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
|
|
150
|
-
when: ( ContextKeyExpr.and(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
155
|
+
when: ( (ContextKeyExpr.and(
|
|
156
|
+
(ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
|
|
157
|
+
(CONTEXT_DEBUG_UX.notEqualsTo('simple')),
|
|
158
|
+
(WorkbenchStateContext.notEqualsTo('empty')),
|
|
159
|
+
(ContextKeyExpr.or(
|
|
160
|
+
(CONTEXT_DEBUG_STATE.isEqualTo('inactive')),
|
|
161
|
+
(ContextKeyExpr.notEquals('config.debug.toolBarLocation', 'docked'))
|
|
162
|
+
)),
|
|
163
|
+
(ContextKeyExpr.or(
|
|
164
|
+
ContextKeyExpr.not('config.debug.hideLauncherWhileDebugging'),
|
|
165
|
+
ContextKeyExpr.not('inDebugMode')
|
|
166
|
+
))
|
|
167
|
+
))),
|
|
154
168
|
order: 10,
|
|
155
169
|
group: 'navigation',
|
|
156
170
|
command: {
|
|
157
|
-
precondition: ( CONTEXT_DEBUG_STATE.notEqualsTo(getStateLabel(1 ))),
|
|
171
|
+
precondition: ( (CONTEXT_DEBUG_STATE.notEqualsTo(getStateLabel(1 )))),
|
|
158
172
|
id: DEBUG_START_COMMAND_ID,
|
|
159
173
|
title: DEBUG_START_LABEL
|
|
160
174
|
}
|
|
@@ -166,24 +180,32 @@ registerAction2(class extends Action2 {
|
|
|
166
180
|
title: {
|
|
167
181
|
value: DEBUG_CONFIGURE_LABEL,
|
|
168
182
|
original: 'Open \'launch.json\'',
|
|
169
|
-
mnemonicTitle: ( localizeWithPath(
|
|
170
|
-
'vs/workbench/contrib/debug/browser/debugViewlet',
|
|
171
|
-
{ key: 'miOpenConfigurations', comment: ['&& denotes a mnemonic'] },
|
|
172
|
-
"Open &&Configurations"
|
|
173
|
-
))
|
|
183
|
+
mnemonicTitle: ( localizeWithPath(_moduleId, 0, "Open &&Configurations"))
|
|
174
184
|
},
|
|
175
185
|
f1: true,
|
|
176
186
|
icon: debugConfigure,
|
|
177
|
-
precondition: ( CONTEXT_DEBUG_UX.notEqualsTo('simple')),
|
|
187
|
+
precondition: ( (CONTEXT_DEBUG_UX.notEqualsTo('simple'))),
|
|
178
188
|
menu: [{
|
|
179
189
|
id: MenuId.ViewContainerTitle,
|
|
180
190
|
group: 'navigation',
|
|
181
191
|
order: 20,
|
|
182
|
-
when: ( ContextKeyExpr.and(
|
|
192
|
+
when: ( (ContextKeyExpr.and(
|
|
193
|
+
(ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
|
|
194
|
+
(CONTEXT_DEBUG_UX.notEqualsTo('simple')),
|
|
195
|
+
(WorkbenchStateContext.notEqualsTo('empty')),
|
|
196
|
+
(ContextKeyExpr.or(
|
|
197
|
+
(CONTEXT_DEBUG_STATE.isEqualTo('inactive')),
|
|
198
|
+
(ContextKeyExpr.notEquals('config.debug.toolBarLocation', 'docked'))
|
|
199
|
+
))
|
|
200
|
+
)))
|
|
183
201
|
}, {
|
|
184
202
|
id: MenuId.ViewContainerTitle,
|
|
185
203
|
order: 20,
|
|
186
|
-
when: ( ContextKeyExpr.and(
|
|
204
|
+
when: ( (ContextKeyExpr.and(
|
|
205
|
+
(ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
|
|
206
|
+
(CONTEXT_DEBUG_STATE.notEqualsTo('inactive')),
|
|
207
|
+
(ContextKeyExpr.equals('config.debug.toolBarLocation', 'docked'))
|
|
208
|
+
)))
|
|
187
209
|
}, {
|
|
188
210
|
id: MenuId.MenubarDebugMenu,
|
|
189
211
|
group: '2_configuration',
|
|
@@ -206,12 +228,12 @@ registerAction2(class extends Action2 {
|
|
|
206
228
|
launch = launches[0];
|
|
207
229
|
}
|
|
208
230
|
else {
|
|
209
|
-
const picks = ( launches.map(l => ({ label: l.name, launch: l })));
|
|
231
|
+
const picks = ( (launches.map(l => ({ label: l.name, launch: l }))));
|
|
210
232
|
const picked = await quickInputService.pick(picks, {
|
|
211
233
|
activeItem: picks[0],
|
|
212
234
|
placeHolder: ( localizeWithPath(
|
|
213
|
-
|
|
214
|
-
|
|
235
|
+
_moduleId,
|
|
236
|
+
1,
|
|
215
237
|
"Select a workspace folder to create a launch.json file in or add it to the workspace config file"
|
|
216
238
|
))
|
|
217
239
|
});
|
|
@@ -229,17 +251,13 @@ registerAction2(class extends Action2 {
|
|
|
229
251
|
constructor() {
|
|
230
252
|
super({
|
|
231
253
|
id: 'debug.toggleReplIgnoreFocus',
|
|
232
|
-
title: ( localizeWithPath(
|
|
233
|
-
|
|
234
|
-
'debugPanel',
|
|
235
|
-
"Debug Console"
|
|
236
|
-
)),
|
|
237
|
-
toggled: ( ContextKeyExpr.has(`view.${REPL_VIEW_ID}.visible`)),
|
|
254
|
+
title: ( localizeWithPath(_moduleId, 2, "Debug Console")),
|
|
255
|
+
toggled: ( (ContextKeyExpr.has(`view.${REPL_VIEW_ID}.visible`))),
|
|
238
256
|
menu: [{
|
|
239
257
|
id: ViewsSubMenu,
|
|
240
258
|
group: '3_toggleRepl',
|
|
241
259
|
order: 30,
|
|
242
|
-
when: ( ContextKeyExpr.and((
|
|
260
|
+
when: ( (ContextKeyExpr.and( (ContextKeyExpr.equals('viewContainer', VIEWLET_ID)))))
|
|
243
261
|
}]
|
|
244
262
|
});
|
|
245
263
|
}
|
|
@@ -254,15 +272,18 @@ registerAction2(class extends Action2 {
|
|
|
254
272
|
}
|
|
255
273
|
});
|
|
256
274
|
MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
|
|
257
|
-
when: ( ContextKeyExpr.and(
|
|
275
|
+
when: ( (ContextKeyExpr.and(
|
|
276
|
+
(ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
|
|
277
|
+
(CONTEXT_DEBUG_STATE.notEqualsTo('inactive')),
|
|
278
|
+
(ContextKeyExpr.or(
|
|
279
|
+
(ContextKeyExpr.equals('config.debug.toolBarLocation', 'docked')),
|
|
280
|
+
(ContextKeyExpr.has('config.debug.hideLauncherWhileDebugging'))
|
|
281
|
+
))
|
|
282
|
+
))),
|
|
258
283
|
order: 10,
|
|
259
284
|
command: {
|
|
260
285
|
id: SELECT_AND_START_ID,
|
|
261
|
-
title: ( localizeWithPath(
|
|
262
|
-
'vs/workbench/contrib/debug/browser/debugViewlet',
|
|
263
|
-
'startAdditionalSession',
|
|
264
|
-
"Start Additional Session"
|
|
265
|
-
)),
|
|
286
|
+
title: ( localizeWithPath(_moduleId, 3, "Start Additional Session")),
|
|
266
287
|
}
|
|
267
288
|
});
|
|
268
289
|
|
|
@@ -44,6 +44,7 @@ import { sourcesEqual, isUri } from 'vscode/vscode/vs/workbench/contrib/debug/co
|
|
|
44
44
|
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
45
45
|
|
|
46
46
|
var DisassemblyView_1, BreakpointRenderer_1, InstructionRenderer_1;
|
|
47
|
+
const _moduleId = "vs/workbench/contrib/debug/browser/disassemblyView";
|
|
47
48
|
const disassemblyNotAvailable = {
|
|
48
49
|
allowBreakpoint: false,
|
|
49
50
|
isBreakpointSet: false,
|
|
@@ -54,11 +55,7 @@ const disassemblyNotAvailable = {
|
|
|
54
55
|
address: 0n,
|
|
55
56
|
instruction: {
|
|
56
57
|
address: '-1',
|
|
57
|
-
instruction: ( localizeWithPath(
|
|
58
|
-
'vs/workbench/contrib/debug/browser/disassemblyView',
|
|
59
|
-
'instructionNotAvailable',
|
|
60
|
-
"Disassembly not available."
|
|
61
|
-
))
|
|
58
|
+
instruction: ( localizeWithPath(_moduleId, 0, "Disassembly not available."))
|
|
62
59
|
},
|
|
63
60
|
};
|
|
64
61
|
let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
@@ -72,9 +69,9 @@ let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
|
72
69
|
this._instructionBpList = [];
|
|
73
70
|
this._enableSourceCodeRender = true;
|
|
74
71
|
this._loadingLock = false;
|
|
75
|
-
this._referenceToMemoryAddress = ( new Map());
|
|
72
|
+
this._referenceToMemoryAddress = ( (new Map()));
|
|
76
73
|
this._disassembledInstructions = undefined;
|
|
77
|
-
this._onDidChangeStackFrame = this._register(( new Emitter({ leakWarningThreshold: 1000 })));
|
|
74
|
+
this._onDidChangeStackFrame = this._register(( (new Emitter({ leakWarningThreshold: 1000 }))));
|
|
78
75
|
this._previousDebuggingState = _debugService.state;
|
|
79
76
|
this._register(_configurationService.onDidChangeConfiguration(e => {
|
|
80
77
|
if (e.affectsConfiguration('debug')) {
|
|
@@ -103,12 +100,14 @@ let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
|
103
100
|
return BareFontInfo.createFromRawSettings(this._configurationService.getValue('editor'), PixelRatio.getInstance(this.window).value);
|
|
104
101
|
}
|
|
105
102
|
get currentInstructionAddresses() {
|
|
106
|
-
return (
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
103
|
+
return (
|
|
104
|
+
(( (( (( (this._debugService.getModel().getSessions(false).
|
|
105
|
+
map(session => session.getAllThreads()))).
|
|
106
|
+
reduce((prev, curr) => prev.concat(curr), []).
|
|
107
|
+
map(thread => thread.getTopStackFrame()))).
|
|
108
|
+
map(frame => frame?.instructionPointerReference))).
|
|
109
|
+
map(ref => ref ? this.getReferenceAddress(ref) : undefined))
|
|
110
|
+
);
|
|
112
111
|
}
|
|
113
112
|
get focusedCurrentInstructionReference() {
|
|
114
113
|
return this._debugService.getViewModel().focusedStackFrame?.thread.getTopStackFrame()?.instructionPointerReference;
|
|
@@ -170,11 +169,7 @@ let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
|
170
169
|
project(row) { return row; }
|
|
171
170
|
},
|
|
172
171
|
{
|
|
173
|
-
label: ( localizeWithPath(
|
|
174
|
-
'vs/workbench/contrib/debug/browser/disassemblyView',
|
|
175
|
-
'disassemblyTableColumnLabel',
|
|
176
|
-
"instructions"
|
|
177
|
-
)),
|
|
172
|
+
label: ( localizeWithPath(_moduleId, 1, "instructions")),
|
|
178
173
|
tooltip: '',
|
|
179
174
|
weight: 0.3,
|
|
180
175
|
templateId: InstructionRenderer.TEMPLATE_ID,
|
|
@@ -192,7 +187,7 @@ let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
|
192
187
|
multipleSelectionSupport: false,
|
|
193
188
|
setRowLineHeight: false,
|
|
194
189
|
openOnSingleClick: false,
|
|
195
|
-
accessibilityProvider: ( new AccessibilityProvider()),
|
|
190
|
+
accessibilityProvider: ( (new AccessibilityProvider())),
|
|
196
191
|
mouseSupport: false
|
|
197
192
|
}));
|
|
198
193
|
if (this.focusedInstructionReference) {
|
|
@@ -324,7 +319,7 @@ let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
|
324
319
|
return 0;
|
|
325
320
|
}
|
|
326
321
|
async primeMemoryReference(instructionReference) {
|
|
327
|
-
if (( this._referenceToMemoryAddress.has(instructionReference))) {
|
|
322
|
+
if (( (this._referenceToMemoryAddress.has(instructionReference)))) {
|
|
328
323
|
return true;
|
|
329
324
|
}
|
|
330
325
|
const s = await this.debugSession?.disassemble(instructionReference, 0, 0, 1);
|
|
@@ -342,7 +337,7 @@ let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
|
342
337
|
async loadDisassembledInstructions(instructionReference, offset, instructionOffset, instructionCount) {
|
|
343
338
|
const session = this.debugSession;
|
|
344
339
|
const resultEntries = await session?.disassemble(instructionReference, offset, instructionOffset, instructionCount);
|
|
345
|
-
if (!( this._referenceToMemoryAddress.has(instructionReference)) && instructionOffset !== 0) {
|
|
340
|
+
if (!( (this._referenceToMemoryAddress.has(instructionReference))) && instructionOffset !== 0) {
|
|
346
341
|
await this.loadDisassembledInstructions(instructionReference, 0, 0, DisassemblyView_1.NUM_INSTRUCTIONS_TO_LOAD);
|
|
347
342
|
}
|
|
348
343
|
if (session && resultEntries && this._disassembledInstructions) {
|
|
@@ -395,7 +390,7 @@ let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
|
395
390
|
return 0;
|
|
396
391
|
}
|
|
397
392
|
const refBaseAddress = this._referenceToMemoryAddress.get(instructionReference);
|
|
398
|
-
const bps = ( this._instructionBpList.map(p => {
|
|
393
|
+
const bps = ( (this._instructionBpList.map(p => {
|
|
399
394
|
const base = this._referenceToMemoryAddress.get(p.instructionReference);
|
|
400
395
|
if (!base) {
|
|
401
396
|
return undefined;
|
|
@@ -404,7 +399,7 @@ let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
|
404
399
|
enabled: p.enabled,
|
|
405
400
|
address: base + BigInt(p.offset || 0),
|
|
406
401
|
};
|
|
407
|
-
}));
|
|
402
|
+
})));
|
|
408
403
|
if (refBaseAddress !== undefined) {
|
|
409
404
|
for (const entry of newEntries) {
|
|
410
405
|
const bp = bps.find(p => p?.address === entry.address);
|
|
@@ -485,14 +480,14 @@ let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
|
485
480
|
this._disassembledInstructions?.splice(0, this._disassembledInstructions.length, [disassemblyNotAvailable]);
|
|
486
481
|
}
|
|
487
482
|
};
|
|
488
|
-
DisassemblyView = DisassemblyView_1 = ( __decorate([
|
|
489
|
-
( __param(1, ITelemetryService)),
|
|
490
|
-
( __param(2, IThemeService)),
|
|
491
|
-
( __param(3, IStorageService)),
|
|
492
|
-
( __param(4, IConfigurationService)),
|
|
493
|
-
( __param(5, IInstantiationService)),
|
|
494
|
-
( __param(6, IDebugService))
|
|
495
|
-
], DisassemblyView));
|
|
483
|
+
DisassemblyView = DisassemblyView_1 = ( (__decorate([
|
|
484
|
+
( (__param(1, ITelemetryService))),
|
|
485
|
+
( (__param(2, IThemeService))),
|
|
486
|
+
( (__param(3, IStorageService))),
|
|
487
|
+
( (__param(4, IConfigurationService))),
|
|
488
|
+
( (__param(5, IInstantiationService))),
|
|
489
|
+
( (__param(6, IDebugService)))
|
|
490
|
+
], DisassemblyView)));
|
|
496
491
|
let BreakpointRenderer = class BreakpointRenderer {
|
|
497
492
|
static { BreakpointRenderer_1 = this; }
|
|
498
493
|
static { this.TEMPLATE_ID = 'breakpoint'; }
|
|
@@ -579,9 +574,9 @@ let BreakpointRenderer = class BreakpointRenderer {
|
|
|
579
574
|
}
|
|
580
575
|
}
|
|
581
576
|
};
|
|
582
|
-
BreakpointRenderer = BreakpointRenderer_1 = ( __decorate([
|
|
583
|
-
( __param(1, IDebugService))
|
|
584
|
-
], BreakpointRenderer));
|
|
577
|
+
BreakpointRenderer = BreakpointRenderer_1 = ( (__decorate([
|
|
578
|
+
( (__param(1, IDebugService)))
|
|
579
|
+
], BreakpointRenderer)));
|
|
585
580
|
let InstructionRenderer = class InstructionRenderer extends Disposable {
|
|
586
581
|
static { InstructionRenderer_1 = this; }
|
|
587
582
|
static { this.TEMPLATE_ID = 'instruction'; }
|
|
@@ -622,12 +617,12 @@ let InstructionRenderer = class InstructionRenderer extends Disposable {
|
|
|
622
617
|
templateData.currentElement.element = element;
|
|
623
618
|
const instruction = element.instruction;
|
|
624
619
|
templateData.sourcecode.innerText = '';
|
|
625
|
-
const sb = ( new StringBuilder(1000));
|
|
620
|
+
const sb = ( (new StringBuilder(1000)));
|
|
626
621
|
if (this._disassemblyView.isSourceCodeRender && element.showSourceLocation && instruction.location?.path && instruction.line !== undefined) {
|
|
627
622
|
const sourceURI = this.getUriFromSource(instruction);
|
|
628
623
|
if (sourceURI) {
|
|
629
624
|
let textModel = undefined;
|
|
630
|
-
const sourceSB = ( new StringBuilder(10000));
|
|
625
|
+
const sourceSB = ( (new StringBuilder(10000)));
|
|
631
626
|
const ref = await this.textModelService.createModelReference(sourceURI);
|
|
632
627
|
if (templateData.currentElement.element !== element) {
|
|
633
628
|
return;
|
|
@@ -709,11 +704,7 @@ let InstructionRenderer = class InstructionRenderer extends Disposable {
|
|
|
709
704
|
};
|
|
710
705
|
this.editorService.openEditor({
|
|
711
706
|
resource: sourceURI,
|
|
712
|
-
description: ( localizeWithPath(
|
|
713
|
-
'vs/workbench/contrib/debug/browser/disassemblyView',
|
|
714
|
-
'editorOpenedFromDisassemblyDescription',
|
|
715
|
-
"from disassembly"
|
|
716
|
-
)),
|
|
707
|
+
description: ( localizeWithPath(_moduleId, 2, "from disassembly")),
|
|
717
708
|
options: {
|
|
718
709
|
preserveFocus: false,
|
|
719
710
|
selection: selection,
|
|
@@ -727,7 +718,7 @@ let InstructionRenderer = class InstructionRenderer extends Disposable {
|
|
|
727
718
|
getUriFromSource(instruction) {
|
|
728
719
|
const path = instruction.location.path;
|
|
729
720
|
if (path && isUri(path)) {
|
|
730
|
-
return this.uriService.asCanonicalUri(( URI.parse(path)));
|
|
721
|
+
return this.uriService.asCanonicalUri(( (URI.parse(path))));
|
|
731
722
|
}
|
|
732
723
|
if (path && isAbsolute(path)) {
|
|
733
724
|
return this.uriService.asCanonicalUri(URI.file(path));
|
|
@@ -739,43 +730,27 @@ let InstructionRenderer = class InstructionRenderer extends Disposable {
|
|
|
739
730
|
element.style.whiteSpace = 'pre';
|
|
740
731
|
}
|
|
741
732
|
};
|
|
742
|
-
InstructionRenderer = InstructionRenderer_1 = ( __decorate([
|
|
743
|
-
( __param(1, IThemeService)),
|
|
744
|
-
( __param(2, IEditorService)),
|
|
745
|
-
( __param(3, ITextModelService)),
|
|
746
|
-
( __param(4, IUriIdentityService)),
|
|
747
|
-
( __param(5, ILogService))
|
|
748
|
-
], InstructionRenderer));
|
|
733
|
+
InstructionRenderer = InstructionRenderer_1 = ( (__decorate([
|
|
734
|
+
( (__param(1, IThemeService))),
|
|
735
|
+
( (__param(2, IEditorService))),
|
|
736
|
+
( (__param(3, ITextModelService))),
|
|
737
|
+
( (__param(4, IUriIdentityService))),
|
|
738
|
+
( (__param(5, ILogService)))
|
|
739
|
+
], InstructionRenderer)));
|
|
749
740
|
class AccessibilityProvider {
|
|
750
741
|
getWidgetAriaLabel() {
|
|
751
|
-
return ( localizeWithPath(
|
|
752
|
-
'vs/workbench/contrib/debug/browser/disassemblyView',
|
|
753
|
-
'disassemblyView',
|
|
754
|
-
"Disassembly View"
|
|
755
|
-
));
|
|
742
|
+
return ( localizeWithPath(_moduleId, 3, "Disassembly View"));
|
|
756
743
|
}
|
|
757
744
|
getAriaLabel(element) {
|
|
758
745
|
let label = '';
|
|
759
746
|
const instruction = element.instruction;
|
|
760
747
|
if (instruction.address !== '-1') {
|
|
761
|
-
label += `${( localizeWithPath(
|
|
762
|
-
'vs/workbench/contrib/debug/browser/disassemblyView',
|
|
763
|
-
'instructionAddress',
|
|
764
|
-
"Address"
|
|
765
|
-
))}: ${instruction.address}`;
|
|
748
|
+
label += `${( localizeWithPath(_moduleId, 4, "Address"))}: ${instruction.address}`;
|
|
766
749
|
}
|
|
767
750
|
if (instruction.instructionBytes) {
|
|
768
|
-
label += `, ${( localizeWithPath(
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
"Bytes"
|
|
772
|
-
))}: ${instruction.instructionBytes}`;
|
|
773
|
-
}
|
|
774
|
-
label += `, ${( localizeWithPath(
|
|
775
|
-
'vs/workbench/contrib/debug/browser/disassemblyView',
|
|
776
|
-
`instructionText`,
|
|
777
|
-
"Instruction"
|
|
778
|
-
))}: ${instruction.instruction}`;
|
|
751
|
+
label += `, ${( localizeWithPath(_moduleId, 5, "Bytes"))}: ${instruction.instructionBytes}`;
|
|
752
|
+
}
|
|
753
|
+
label += `, ${( localizeWithPath(_moduleId, 6, "Instruction"))}: ${instruction.instruction}`;
|
|
779
754
|
return label;
|
|
780
755
|
}
|
|
781
756
|
}
|
|
@@ -809,10 +784,10 @@ let DisassemblyViewContribution = class DisassemblyViewContribution {
|
|
|
809
784
|
this._onDidChangeModelLanguage?.dispose();
|
|
810
785
|
}
|
|
811
786
|
};
|
|
812
|
-
DisassemblyViewContribution = ( __decorate([
|
|
813
|
-
( __param(0, IEditorService)),
|
|
814
|
-
( __param(1, IDebugService)),
|
|
815
|
-
( __param(2, IContextKeyService))
|
|
816
|
-
], DisassemblyViewContribution));
|
|
787
|
+
DisassemblyViewContribution = ( (__decorate([
|
|
788
|
+
( (__param(0, IEditorService))),
|
|
789
|
+
( (__param(1, IDebugService))),
|
|
790
|
+
( (__param(2, IContextKeyService)))
|
|
791
|
+
], DisassemblyViewContribution)));
|
|
817
792
|
|
|
818
793
|
export { DisassemblyView, DisassemblyViewContribution };
|
|
@@ -24,17 +24,10 @@ import { ActionBar } from 'vscode/vscode/vs/base/browser/ui/actionbar/actionbar'
|
|
|
24
24
|
import { Action } from 'vscode/vscode/vs/base/common/actions';
|
|
25
25
|
import { widgetClose } from 'vscode/vscode/vs/platform/theme/common/iconRegistry';
|
|
26
26
|
|
|
27
|
+
const _moduleId = "vs/workbench/contrib/debug/browser/exceptionWidget";
|
|
27
28
|
const $ = $$1;
|
|
28
|
-
const debugExceptionWidgetBorder = registerColor('debugExceptionWidget.border', { dark: '#a31515', light: '#a31515', hcDark: '#a31515', hcLight: '#a31515' }, ( localizeWithPath(
|
|
29
|
-
|
|
30
|
-
'debugExceptionWidgetBorder',
|
|
31
|
-
'Exception widget border color.'
|
|
32
|
-
)));
|
|
33
|
-
const debugExceptionWidgetBackground = registerColor('debugExceptionWidget.background', { dark: '#420b0d', light: '#f1dfde', hcDark: '#420b0d', hcLight: '#f1dfde' }, ( localizeWithPath(
|
|
34
|
-
'vs/workbench/contrib/debug/browser/exceptionWidget',
|
|
35
|
-
'debugExceptionWidgetBackground',
|
|
36
|
-
'Exception widget background color.'
|
|
37
|
-
)));
|
|
29
|
+
const debugExceptionWidgetBorder = registerColor('debugExceptionWidget.border', { dark: '#a31515', light: '#a31515', hcDark: '#a31515', hcLight: '#a31515' }, ( localizeWithPath(_moduleId, 0, 'Exception widget border color.')));
|
|
30
|
+
const debugExceptionWidgetBackground = registerColor('debugExceptionWidget.background', { dark: '#420b0d', light: '#f1dfde', hcDark: '#420b0d', hcLight: '#f1dfde' }, ( localizeWithPath(_moduleId, 1, 'Exception widget background color.')));
|
|
38
31
|
let ExceptionWidget = class ExceptionWidget extends ZoneWidget {
|
|
39
32
|
constructor(editor, exceptionInfo, debugSession, themeService, instantiationService) {
|
|
40
33
|
super(editor, { showFrame: true, showArrow: true, isAccessible: true, frameWidth: 1, className: 'exception-widget-container' });
|
|
@@ -44,7 +37,7 @@ let ExceptionWidget = class ExceptionWidget extends ZoneWidget {
|
|
|
44
37
|
this.applyTheme(themeService.getColorTheme());
|
|
45
38
|
this._disposables.add(themeService.onDidColorThemeChange(this.applyTheme.bind(this)));
|
|
46
39
|
this.create();
|
|
47
|
-
const onDidLayoutChangeScheduler = ( new RunOnceScheduler(() => this._doLayout(undefined, undefined), 50));
|
|
40
|
+
const onDidLayoutChangeScheduler = ( (new RunOnceScheduler(() => this._doLayout(undefined, undefined), 50)));
|
|
48
41
|
this._disposables.add(this.editor.onDidLayoutChange(() => onDidLayoutChangeScheduler.schedule()));
|
|
49
42
|
this._disposables.add(onDidLayoutChangeScheduler);
|
|
50
43
|
}
|
|
@@ -58,7 +51,7 @@ let ExceptionWidget = class ExceptionWidget extends ZoneWidget {
|
|
|
58
51
|
}
|
|
59
52
|
_applyStyles() {
|
|
60
53
|
if (this.container) {
|
|
61
|
-
this.container.style.backgroundColor = this.backgroundColor ? ( this.backgroundColor.toString()) : '';
|
|
54
|
+
this.container.style.backgroundColor = this.backgroundColor ? ( (this.backgroundColor.toString())) : '';
|
|
62
55
|
}
|
|
63
56
|
super._applyStyles();
|
|
64
57
|
}
|
|
@@ -73,22 +66,13 @@ let ExceptionWidget = class ExceptionWidget extends ZoneWidget {
|
|
|
73
66
|
append(title, label);
|
|
74
67
|
const actions = $('.actions');
|
|
75
68
|
append(title, actions);
|
|
76
|
-
label.textContent = this.exceptionInfo.id ? ( localizeWithPath(
|
|
77
|
-
'vs/workbench/contrib/debug/browser/exceptionWidget',
|
|
78
|
-
'exceptionThrownWithId',
|
|
79
|
-
'Exception has occurred: {0}',
|
|
80
|
-
this.exceptionInfo.id
|
|
81
|
-
)) : ( localizeWithPath(
|
|
82
|
-
'vs/workbench/contrib/debug/browser/exceptionWidget',
|
|
83
|
-
'exceptionThrown',
|
|
84
|
-
'Exception has occurred.'
|
|
85
|
-
));
|
|
69
|
+
label.textContent = this.exceptionInfo.id ? ( localizeWithPath(_moduleId, 2, 'Exception has occurred: {0}', this.exceptionInfo.id)) : ( localizeWithPath(_moduleId, 3, 'Exception has occurred.'));
|
|
86
70
|
let ariaLabel = label.textContent;
|
|
87
|
-
const actionBar = ( new ActionBar(actions));
|
|
88
|
-
actionBar.push(( new Action('editor.closeExceptionWidget', ( localizeWithPath(
|
|
71
|
+
const actionBar = ( (new ActionBar(actions)));
|
|
72
|
+
actionBar.push(( (new Action('editor.closeExceptionWidget', ( localizeWithPath(_moduleId, 4, "Close")), ThemeIcon.asClassName(widgetClose), true, async () => {
|
|
89
73
|
const contribution = this.editor.getContribution(EDITOR_CONTRIBUTION_ID);
|
|
90
74
|
contribution?.closeExceptionWidget();
|
|
91
|
-
})), { label: false, icon: true });
|
|
75
|
+
}))), { label: false, icon: true });
|
|
92
76
|
append(container, title);
|
|
93
77
|
if (this.exceptionInfo.description) {
|
|
94
78
|
const description = $('.description');
|
|
@@ -123,9 +107,9 @@ let ExceptionWidget = class ExceptionWidget extends ZoneWidget {
|
|
|
123
107
|
return isAncestorOfActiveElement(this.container);
|
|
124
108
|
}
|
|
125
109
|
};
|
|
126
|
-
ExceptionWidget = ( __decorate([
|
|
127
|
-
( __param(3, IThemeService)),
|
|
128
|
-
( __param(4, IInstantiationService))
|
|
129
|
-
], ExceptionWidget));
|
|
110
|
+
ExceptionWidget = ( (__decorate([
|
|
111
|
+
( (__param(3, IThemeService))),
|
|
112
|
+
( (__param(4, IInstantiationService)))
|
|
113
|
+
], ExceptionWidget)));
|
|
130
114
|
|
|
131
115
|
export { ExceptionWidget };
|