Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
HugeYuan
delve
提交
e00670b9
D
delve
项目概览
HugeYuan
/
delve
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
delve
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
e00670b9
编写于
9月 24, 2021
作者:
S
Suzy Mueller
提交者:
GitHub
9月 24, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
service/debugger: return correct exit status on manual halt (#2674)
* service/dap: add test for nonzero exit status
上级
b50052cc
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
0 deletion
+36
-0
service/dap/server.go
service/dap/server.go
+2
-0
service/dap/server_test.go
service/dap/server_test.go
+29
-0
service/debugger/debugger.go
service/debugger/debugger.go
+5
-0
未找到文件。
service/dap/server.go
浏览文件 @
e00670b9
...
...
@@ -1024,6 +1024,8 @@ func (s *Server) stopDebugSession(killProcess bool) error {
s
.
log
.
Debug
(
"halt returned state: "
,
exited
)
}
if
exited
!=
nil
{
// TODO(suzmue): log exited error when the process exits, which may have been before
// halt was called.
s
.
logToConsole
(
exited
.
Error
())
s
.
logToConsole
(
"Detaching"
)
}
else
if
killProcess
{
...
...
service/dap/server_test.go
浏览文件 @
e00670b9
...
...
@@ -4330,6 +4330,35 @@ func TestLaunchRequestOutputPath(t *testing.T) {
})
}
func
TestExitNonZeroStatus
(
t
*
testing
.
T
)
{
runTest
(
t
,
"pr1055"
,
func
(
client
*
daptest
.
Client
,
fixture
protest
.
Fixture
)
{
client
.
InitializeRequest
()
client
.
ExpectInitializeResponseAndCapabilities
(
t
)
client
.
LaunchRequest
(
"exec"
,
fixture
.
Path
,
!
stopOnEntry
)
client
.
ExpectInitializedEvent
(
t
)
client
.
ExpectLaunchResponse
(
t
)
client
.
ConfigurationDoneRequest
()
client
.
ExpectConfigurationDoneResponse
(
t
)
client
.
ExpectTerminatedEvent
(
t
)
client
.
DisconnectRequest
()
// Check that the process exit status is 2.
oep
:=
client
.
ExpectOutputEventProcessExited
(
t
,
2
)
if
oep
.
Body
.
Category
!=
"console"
{
t
.
Errorf
(
"
\n
got %#v
\n
want Category='console'"
,
oep
)
}
oed
:=
client
.
ExpectOutputEventDetaching
(
t
)
if
oed
.
Body
.
Category
!=
"console"
{
t
.
Errorf
(
"
\n
got %#v
\n
want Category='console'"
,
oed
)
}
client
.
ExpectDisconnectResponse
(
t
)
client
.
ExpectTerminatedEvent
(
t
)
})
}
func
TestNoDebug_GoodExitStatus
(
t
*
testing
.
T
)
{
runTest
(
t
,
"increment"
,
func
(
client
*
daptest
.
Client
,
fixture
protest
.
Fixture
)
{
runNoDebugSession
(
t
,
client
,
func
()
{
...
...
service/debugger/debugger.go
浏览文件 @
e00670b9
...
...
@@ -1130,6 +1130,11 @@ func (d *Debugger) Command(command *api.DebuggerCommand, resumeNotify chan struc
d
.
recordMutex
.
Lock
()
if
d
.
stopRecording
==
nil
{
err
=
d
.
target
.
RequestManualStop
()
// The error returned from d.target.Valid will have more context
// about the exited process.
if
_
,
valErr
:=
d
.
target
.
Valid
();
valErr
!=
nil
{
err
=
valErr
}
}
d
.
recordMutex
.
Unlock
()
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录