提交 46b569c4 编写于 作者: I isidor

debug: log adapter errors to 'extensions' output channel

fixes #5832
上级 a9808d5f
...@@ -547,8 +547,7 @@ export class DebugService implements debug.IDebugService { ...@@ -547,8 +547,7 @@ export class DebugService implements debug.IDebugService {
telemetryInfo['common.vscodesessionid'] = info.sessionId; telemetryInfo['common.vscodesessionid'] = info.sessionId;
}, errors.onUnexpectedError); }, errors.onUnexpectedError);
this.telemetryAdapter = new AIAdapter(key, this.configurationManager.adapter.type, null, telemetryInfo); this.telemetryAdapter = new AIAdapter(key, this.configurationManager.adapter.type, null, telemetryInfo);
this.session = new session.RawDebugSession(this.messageService, this.telemetryService, configuration.debugServer, this.configurationManager.adapter, this.telemetryAdapter); this.session = this.instantiationService.createInstance(session.RawDebugSession, configuration.debugServer, this.configurationManager.adapter, this.telemetryAdapter);
this.registerSessionListeners(); this.registerSessionListeners();
return this.session.initialize({ return this.session.initialize({
......
...@@ -14,12 +14,15 @@ import errors = require('vs/base/common/errors'); ...@@ -14,12 +14,15 @@ import errors = require('vs/base/common/errors');
import { TPromise } from 'vs/base/common/winjs.base'; import { TPromise } from 'vs/base/common/winjs.base';
import severity from 'vs/base/common/severity'; import severity from 'vs/base/common/severity';
import { AIAdapter } from 'vs/base/node/aiAdapter'; import { AIAdapter } from 'vs/base/node/aiAdapter';
import debug = require('vs/workbench/parts/debug/common/debug');
import { Adapter } from 'vs/workbench/parts/debug/node/debugAdapter';
import v8 = require('vs/workbench/parts/debug/node/v8Protocol');
import stdfork = require('vs/base/node/stdFork'); import stdfork = require('vs/base/node/stdFork');
import { IMessageService, CloseAction } from 'vs/platform/message/common/message'; import { IMessageService, CloseAction } from 'vs/platform/message/common/message';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import debug = require('vs/workbench/parts/debug/common/debug');
import { Adapter } from 'vs/workbench/parts/debug/node/debugAdapter';
import v8 = require('vs/workbench/parts/debug/node/v8Protocol');
import { IOutputService } from 'vs/workbench/parts/output/common/output';
import { ExtensionsChannelId } from 'vs/workbench/parts/extensions/common/extensions';
import { shell } from 'electron'; import { shell } from 'electron';
export interface SessionExitedEvent extends DebugProtocol.ExitedEvent { export interface SessionExitedEvent extends DebugProtocol.ExitedEvent {
...@@ -61,11 +64,12 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes ...@@ -61,11 +64,12 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes
private _onDidEvent: Emitter<DebugProtocol.Event>; private _onDidEvent: Emitter<DebugProtocol.Event>;
constructor( constructor(
private messageService: IMessageService,
private telemetryService: ITelemetryService,
private debugServerPort: number, private debugServerPort: number,
private adapter: Adapter, private adapter: Adapter,
private telemtryAdapter: AIAdapter private telemtryAdapter: AIAdapter,
@IMessageService private messageService: IMessageService,
@ITelemetryService private telemetryService: ITelemetryService,
@IOutputService private outputService: IOutputService
) { ) {
super(); super();
this.emittedStopped = false; this.emittedStopped = false;
...@@ -327,7 +331,7 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes ...@@ -327,7 +331,7 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes
// console.log('%c' + sanitize(data), 'background: #ddd; font-style: italic;'); // console.log('%c' + sanitize(data), 'background: #ddd; font-style: italic;');
// }); // });
this.serverProcess.stderr.on('data', (data: string) => { this.serverProcess.stderr.on('data', (data: string) => {
console.log(sanitize(data)); this.outputService.getChannel(ExtensionsChannelId).append(sanitize(data));
}); });
this.connect(this.serverProcess.stdout, this.serverProcess.stdin); this.connect(this.serverProcess.stdout, this.serverProcess.stdin);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册