Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
7376e986
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7376e986
编写于
1月 18, 2017
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debug: process keep a reference to configuration
fixes #18669
上级
625e69b4
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
17 addition
and
12 deletion
+17
-12
src/vs/workbench/parts/debug/common/debug.ts
src/vs/workbench/parts/debug/common/debug.ts
+1
-0
src/vs/workbench/parts/debug/common/debugModel.ts
src/vs/workbench/parts/debug/common/debugModel.ts
+7
-3
src/vs/workbench/parts/debug/electron-browser/debugService.ts
...vs/workbench/parts/debug/electron-browser/debugService.ts
+3
-3
src/vs/workbench/parts/debug/test/common/debugViewModel.test.ts
.../workbench/parts/debug/test/common/debugViewModel.test.ts
+1
-1
src/vs/workbench/parts/debug/test/node/debugModel.test.ts
src/vs/workbench/parts/debug/test/node/debugModel.test.ts
+5
-5
未找到文件。
src/vs/workbench/parts/debug/common/debug.ts
浏览文件 @
7376e986
...
...
@@ -102,6 +102,7 @@ export interface ISession {
export
interface
IProcess
extends
ITreeElement
{
name
:
string
;
configuration
:
IConfig
;
session
:
ISession
;
getThread
(
threadId
:
number
):
IThread
;
getAllThreads
():
IThread
[];
...
...
src/vs/workbench/parts/debug/common/debugModel.ts
浏览文件 @
7376e986
...
...
@@ -492,7 +492,7 @@ export class Process implements debug.IProcess {
private
threads
:
Map
<
number
,
Thread
>
;
constructor
(
public
name
:
strin
g
,
private
_session
:
debug
.
ISession
&
debug
.
ITreeElement
)
{
constructor
(
public
configuration
:
debug
.
IConfi
g
,
private
_session
:
debug
.
ISession
&
debug
.
ITreeElement
)
{
this
.
threads
=
new
Map
<
number
,
Thread
>
();
}
...
...
@@ -500,6 +500,10 @@ export class Process implements debug.IProcess {
return
this
.
_session
;
}
public
get
name
():
string
{
return
this
.
configuration
.
name
;
}
public
getThread
(
threadId
:
number
):
Thread
{
return
this
.
threads
.
get
(
threadId
);
}
...
...
@@ -693,8 +697,8 @@ export class Model implements debug.IModel {
return
this
.
processes
;
}
public
addProcess
(
name
:
strin
g
,
session
:
debug
.
ISession
&
debug
.
ITreeElement
):
Process
{
const
process
=
new
Process
(
name
,
session
);
public
addProcess
(
configuration
:
debug
.
IConfi
g
,
session
:
debug
.
ISession
&
debug
.
ITreeElement
):
Process
{
const
process
=
new
Process
(
configuration
,
session
);
this
.
processes
.
push
(
process
);
return
process
;
...
...
src/vs/workbench/parts/debug/electron-browser/debugService.ts
浏览文件 @
7376e986
...
...
@@ -665,7 +665,7 @@ export class DebugService implements debug.IDebugService {
}
const
session
=
this
.
instantiationService
.
createInstance
(
RawDebugSession
,
sessionId
,
configuration
.
debugServer
,
adapter
,
this
.
customTelemetryService
);
const
process
=
this
.
model
.
addProcess
(
configuration
.
name
,
session
);
const
process
=
this
.
model
.
addProcess
(
configuration
,
session
);
if
(
!
this
.
viewModel
.
focusedProcess
)
{
this
.
focusStackFrameAndEvaluate
(
null
,
process
);
...
...
@@ -825,13 +825,13 @@ export class DebugService implements debug.IDebugService {
return
process
.
session
.
disconnect
(
true
).
then
(()
=>
new
TPromise
<
void
>
((
c
,
e
)
=>
{
setTimeout
(()
=>
{
this
.
createProcess
(
process
.
name
).
then
(()
=>
c
(
null
),
err
=>
e
(
err
));
this
.
createProcess
(
process
.
configuration
).
then
(()
=>
c
(
null
),
err
=>
e
(
err
));
},
300
);
})
).
then
(()
=>
{
if
(
preserveFocus
)
{
// Restart should preserve the focused process
const
restartedProcess
=
this
.
model
.
getProcesses
().
filter
(
p
=>
p
.
name
===
process
.
name
).
pop
();
const
restartedProcess
=
this
.
model
.
getProcesses
().
filter
(
p
=>
p
.
getId
()
===
process
.
getId
()
).
pop
();
if
(
restartedProcess
&&
restartedProcess
!==
this
.
viewModel
.
focusedProcess
)
{
this
.
focusStackFrameAndEvaluate
(
null
,
restartedProcess
);
}
...
...
src/vs/workbench/parts/debug/test/common/debugViewModel.test.ts
浏览文件 @
7376e986
...
...
@@ -23,7 +23,7 @@ suite('Debug - View Model', () => {
assert
.
equal
(
model
.
focusedStackFrame
,
null
);
assert
.
equal
(
model
.
focusedThread
,
null
);
const
mockSession
=
new
MockSession
();
const
process
=
new
Process
(
'
mockProcess
'
,
mockSession
);
const
process
=
new
Process
(
{
name
:
'
mockProcess
'
,
type
:
'
node
'
,
request
:
'
launch
'
}
,
mockSession
);
const
thread
=
new
Thread
(
process
,
'
myThread
'
,
1
);
const
frame
=
new
StackFrame
(
thread
,
1
,
null
,
'
app.js
'
,
1
,
1
);
model
.
setFocusedStackFrame
(
frame
,
process
);
...
...
src/vs/workbench/parts/debug/test/node/debugModel.test.ts
浏览文件 @
7376e986
...
...
@@ -94,7 +94,7 @@ suite('Debug - Model', () => {
const
threadId
=
1
;
const
threadName
=
'
firstThread
'
;
model
.
addProcess
(
'
mockProcess
'
,
rawSession
);
model
.
addProcess
(
{
name
:
'
mockProcess
'
,
type
:
'
node
'
,
request
:
'
launch
'
}
,
rawSession
);
assert
.
equal
(
model
.
getProcesses
().
length
,
1
);
model
.
rawUpdate
({
sessionId
:
rawSession
.
getId
(),
...
...
@@ -125,7 +125,7 @@ suite('Debug - Model', () => {
const
stoppedReason
=
'
breakpoint
'
;
// Add the threads
model
.
addProcess
(
'
mockProcess
'
,
rawSession
);
model
.
addProcess
(
{
name
:
'
mockProcess
'
,
type
:
'
node
'
,
request
:
'
launch
'
}
,
rawSession
);
model
.
rawUpdate
({
sessionId
:
rawSession
.
getId
(),
threadId
:
threadId1
,
...
...
@@ -215,7 +215,7 @@ suite('Debug - Model', () => {
const
runningThreadId
=
2
;
const
runningThreadName
=
'
runningThread
'
;
const
stoppedReason
=
'
breakpoint
'
;
model
.
addProcess
(
'
mockProcess
'
,
rawSession
);
model
.
addProcess
(
{
name
:
'
mockProcess
'
,
type
:
'
node
'
,
request
:
'
launch
'
}
,
rawSession
);
// Add the threads
model
.
rawUpdate
({
sessionId
:
rawSession
.
getId
(),
...
...
@@ -308,7 +308,7 @@ suite('Debug - Model', () => {
test
(
'
watch expressions
'
,
()
=>
{
assert
.
equal
(
model
.
getWatchExpressions
().
length
,
0
);
const
process
=
new
Process
(
'
mockProcess
'
,
rawSession
);
const
process
=
new
Process
(
{
name
:
'
mockProcess
'
,
type
:
'
node
'
,
request
:
'
launch
'
}
,
rawSession
);
const
thread
=
new
Thread
(
process
,
'
mockthread
'
,
1
);
const
stackFrame
=
new
StackFrame
(
thread
,
1
,
null
,
'
app.js
'
,
1
,
1
);
model
.
addWatchExpression
(
process
,
stackFrame
,
'
console
'
).
done
();
...
...
@@ -336,7 +336,7 @@ suite('Debug - Model', () => {
test
(
'
repl expressions
'
,
()
=>
{
assert
.
equal
(
model
.
getReplElements
().
length
,
0
);
const
process
=
new
Process
(
'
mockProcess
'
,
rawSession
);
const
process
=
new
Process
(
{
name
:
'
mockProcess
'
,
type
:
'
node
'
,
request
:
'
launch
'
}
,
rawSession
);
const
thread
=
new
Thread
(
process
,
'
mockthread
'
,
1
);
const
stackFrame
=
new
StackFrame
(
thread
,
1
,
null
,
'
app.js
'
,
1
,
1
);
model
.
addReplExpression
(
process
,
stackFrame
,
'
myVariable
'
).
done
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录