Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
f793a7c5
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,发现更多精彩内容 >>
提交
f793a7c5
编写于
5月 09, 2016
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debug: display call stack error from adapter
fixes #6100
上级
12ac396c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
37 addition
and
0 deletion
+37
-0
src/vs/workbench/parts/debug/browser/debugViewer.ts
src/vs/workbench/parts/debug/browser/debugViewer.ts
+27
-0
src/vs/workbench/parts/debug/browser/media/debugViewlet.css
src/vs/workbench/parts/debug/browser/media/debugViewlet.css
+6
-0
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
+3
-0
未找到文件。
src/vs/workbench/parts/debug/browser/debugViewer.ts
浏览文件 @
f793a7c5
...
...
@@ -241,6 +241,9 @@ export class CallStackDataSource implements tree.IDataSource {
if
(
typeof
element
===
'
number
'
)
{
return
element
.
toString
();
}
if
(
typeof
element
===
'
string
'
)
{
return
element
;
}
return
element
.
getId
();
}
...
...
@@ -260,6 +263,9 @@ export class CallStackDataSource implements tree.IDataSource {
private
getThreadChildren
(
thread
:
debug
.
IThread
):
TPromise
<
any
>
{
return
thread
.
getCallStack
(
this
.
debugService
).
then
((
callStack
:
any
[])
=>
{
if
(
thread
.
stoppedDetails
.
framesErrorMessage
)
{
return
callStack
.
concat
([
thread
.
stoppedDetails
.
framesErrorMessage
]);
}
if
(
thread
.
stoppedDetails
&&
thread
.
stoppedDetails
.
totalFrames
>
callStack
.
length
)
{
return
callStack
.
concat
([
thread
.
threadId
]);
}
...
...
@@ -280,6 +286,10 @@ interface IThreadTemplateData {
stateLabel
:
HTMLSpanElement
;
}
interface
IErrorTemplateData
{
label
:
HTMLElement
;
}
interface
ILoadMoreTemplateData
{
label
:
HTMLElement
;
}
...
...
@@ -296,6 +306,7 @@ export class CallStackRenderer implements tree.IRenderer {
private
static
THREAD_TEMPLATE_ID
=
'
thread
'
;
private
static
STACK_FRAME_TEMPLATE_ID
=
'
stackFrame
'
;
private
static
ERROR_TEMPLATE_ID
=
'
error
'
;
private
static
LOAD_MORE_TEMPLATE_ID
=
'
loadMore
'
;
constructor
(
@
IWorkspaceContextService
private
contextService
:
IWorkspaceContextService
)
{
...
...
@@ -313,6 +324,9 @@ export class CallStackRenderer implements tree.IRenderer {
if
(
element
instanceof
model
.
StackFrame
)
{
return
CallStackRenderer
.
STACK_FRAME_TEMPLATE_ID
;
}
if
(
typeof
element
===
'
string
'
)
{
return
CallStackRenderer
.
ERROR_TEMPLATE_ID
;
}
return
CallStackRenderer
.
LOAD_MORE_TEMPLATE_ID
;
}
...
...
@@ -324,6 +338,12 @@ export class CallStackRenderer implements tree.IRenderer {
return
data
;
}
if
(
templateId
===
CallStackRenderer
.
ERROR_TEMPLATE_ID
)
{
let
data
:
ILoadMoreTemplateData
=
Object
.
create
(
null
);
data
.
label
=
dom
.
append
(
container
,
$
(
'
.error
'
));
return
data
;
}
if
(
templateId
===
CallStackRenderer
.
THREAD_TEMPLATE_ID
)
{
let
data
:
IThreadTemplateData
=
Object
.
create
(
null
);
data
.
thread
=
dom
.
append
(
container
,
$
(
'
.thread
'
));
...
...
@@ -349,6 +369,8 @@ export class CallStackRenderer implements tree.IRenderer {
this
.
renderThread
(
element
,
templateData
);
}
else
if
(
templateId
===
CallStackRenderer
.
STACK_FRAME_TEMPLATE_ID
)
{
this
.
renderStackFrame
(
element
,
templateData
);
}
else
if
(
templateId
===
CallStackRenderer
.
ERROR_TEMPLATE_ID
)
{
this
.
renderError
(
element
,
templateData
);
}
else
{
this
.
renderLoadMore
(
element
,
templateData
);
}
...
...
@@ -360,6 +382,11 @@ export class CallStackRenderer implements tree.IRenderer {
data
.
stateLabel
.
textContent
=
thread
.
stopped
?
nls
.
localize
(
'
paused
'
,
"
paused
"
)
:
nls
.
localize
(
'
running
'
,
"
running
"
);
}
private
renderError
(
element
:
string
,
data
:
IErrorTemplateData
)
{
data
.
label
.
textContent
=
element
;
data
.
label
.
title
=
nls
.
localize
(
'
stackFrameError
'
,
"
An error occurred while requesting the stack trace
"
);
}
private
renderLoadMore
(
element
:
any
,
data
:
ILoadMoreTemplateData
):
void
{
data
.
label
.
textContent
=
nls
.
localize
(
'
loadMoreStackFrames
'
,
"
Load More Stack Frames
"
);
}
...
...
src/vs/workbench/parts/debug/browser/media/debugViewlet.css
浏览文件 @
f793a7c5
...
...
@@ -187,6 +187,12 @@
text-align
:
center
;
}
.debug-viewlet
.debug-call-stack
.error
{
font-style
:
italic
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
/* Variables & Expression view */
.debug-viewlet
.scope
{
...
...
src/vs/workbench/parts/debug/common/debug.ts
浏览文件 @
f793a7c5
...
...
@@ -34,6 +34,7 @@ export interface IRawStoppedDetails {
threadId
?:
number
;
text
?:
string
;
totalFrames
?:
number
;
framesErrorMessage
?:
string
;
}
// model
...
...
src/vs/workbench/parts/debug/common/debugModel.ts
浏览文件 @
f793a7c5
...
...
@@ -150,6 +150,9 @@ export class Thread implements debug.IThread {
return
new
StackFrame
(
this
.
threadId
,
rsf
.
id
,
rsf
.
source
?
new
Source
(
rsf
.
source
)
:
new
Source
({
name
:
UNKNOWN_SOURCE_LABEL
},
false
),
rsf
.
name
,
rsf
.
line
,
rsf
.
column
);
});
},
(
err
:
Error
)
=>
{
this
.
stoppedDetails
.
framesErrorMessage
=
err
.
message
;
return
[];
});
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录