Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
HugeYuan
delve
提交
2d6d016b
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,发现更多精彩内容 >>
提交
2d6d016b
编写于
6月 03, 2019
作者:
A
Alessandro Arzilli
提交者:
Derek Parker
6月 03, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
proc: fix panic when calling Ancestors on a parked goroutine (#1570)
Fixes #1568
上级
21ac0eb4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
4 addition
and
4 deletion
+4
-4
pkg/proc/proc_test.go
pkg/proc/proc_test.go
+1
-1
pkg/proc/variables.go
pkg/proc/variables.go
+2
-2
service/debugger/debugger.go
service/debugger/debugger.go
+1
-1
未找到文件。
pkg/proc/proc_test.go
浏览文件 @
2d6d016b
...
...
@@ -4280,7 +4280,7 @@ func TestAncestors(t *testing.T) {
_
,
err
:=
setFunctionBreakpoint
(
p
,
"main.testgoroutine"
)
assertNoError
(
err
,
t
,
"setFunctionBreakpoint()"
)
assertNoError
(
proc
.
Continue
(
p
),
t
,
"Continue()"
)
as
,
err
:=
p
.
SelectedGoroutine
()
.
Ancestors
(
1000
)
as
,
err
:=
p
roc
.
Ancestors
(
p
,
p
.
SelectedGoroutine
(),
1000
)
assertNoError
(
err
,
t
,
"Ancestors"
)
t
.
Logf
(
"ancestors: %#v
\n
"
,
as
)
if
len
(
as
)
!=
1
{
...
...
pkg/proc/variables.go
浏览文件 @
2d6d016b
...
...
@@ -659,8 +659,8 @@ func (g *G) StartLoc() Location {
var
errTracebackAncestorsDisabled
=
errors
.
New
(
"tracebackancestors is disabled"
)
// Ancestors returns the list of ancestors for g.
func
(
g
*
G
)
Ancestors
(
n
int
)
([]
Ancestor
,
error
)
{
scope
:=
globalScope
(
g
.
Thread
.
BinInfo
(),
g
.
Thread
.
BinInfo
()
.
Images
[
0
],
g
.
Thread
)
func
Ancestors
(
p
Process
,
g
*
G
,
n
int
)
([]
Ancestor
,
error
)
{
scope
:=
globalScope
(
p
.
BinInfo
(),
p
.
BinInfo
()
.
Images
[
0
],
p
.
CurrentThread
()
)
tbav
,
err
:=
scope
.
EvalExpression
(
"runtime.debug.tracebackancestors"
,
loadSingleValue
)
if
err
==
nil
&&
tbav
.
Unreadable
==
nil
&&
tbav
.
Kind
==
reflect
.
Int
{
tba
,
_
:=
constant
.
Int64Val
(
tbav
.
Value
)
...
...
service/debugger/debugger.go
浏览文件 @
2d6d016b
...
...
@@ -991,7 +991,7 @@ func (d *Debugger) Ancestors(goroutineID, numAncestors, depth int) ([]api.Ancest
return
nil
,
errors
.
New
(
"no selected goroutine"
)
}
ancestors
,
err
:=
g
.
Ancestors
(
numAncestors
)
ancestors
,
err
:=
proc
.
Ancestors
(
d
.
target
,
g
,
numAncestors
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录