Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
pubx
delve
提交
14a92352
D
delve
项目概览
pubx
/
delve
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
delve
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
14a92352
编写于
2月 21, 2016
作者:
A
aarzilli
提交者:
Derek Parker
2月 27, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
proc: Add filter for non-variable global symbols to PackageVariables
上级
58913527
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
31 addition
and
0 deletion
+31
-0
proc/proc_test.go
proc/proc_test.go
+21
-0
proc/variables.go
proc/variables.go
+10
-0
未找到文件。
proc/proc_test.go
浏览文件 @
14a92352
...
@@ -1576,3 +1576,24 @@ func TestIssue414(t *testing.T) {
...
@@ -1576,3 +1576,24 @@ func TestIssue414(t *testing.T) {
}
}
})
})
}
}
func
TestPackageVariables
(
t
*
testing
.
T
)
{
withTestProcess
(
"testvariables"
,
t
,
func
(
p
*
Process
,
fixture
protest
.
Fixture
)
{
err
:=
p
.
Continue
()
assertNoError
(
err
,
t
,
"Continue()"
)
scope
,
err
:=
p
.
CurrentThread
.
Scope
()
assertNoError
(
err
,
t
,
"Scope()"
)
vars
,
err
:=
scope
.
PackageVariables
()
assertNoError
(
err
,
t
,
"PackageVariables()"
)
failed
:=
false
for
_
,
v
:=
range
vars
{
if
v
.
Unreadable
!=
nil
{
failed
=
true
t
.
Logf
(
"Unreadable variable %s: %v"
,
v
.
Name
,
v
.
Unreadable
)
}
}
if
failed
{
t
.
Fatalf
(
"previous errors"
)
}
})
}
proc/variables.go
浏览文件 @
14a92352
...
@@ -541,11 +541,21 @@ func (scope *EvalScope) PackageVariables() ([]*Variable, error) {
...
@@ -541,11 +541,21 @@ func (scope *EvalScope) PackageVariables() ([]*Variable, error) {
var
vars
[]
*
Variable
var
vars
[]
*
Variable
reader
:=
scope
.
DwarfReader
()
reader
:=
scope
.
DwarfReader
()
var
utypoff
dwarf
.
Offset
utypentry
,
err
:=
reader
.
SeekToTypeNamed
(
"<unspecified>"
)
if
err
==
nil
{
utypoff
=
utypentry
.
Offset
}
for
entry
,
err
:=
reader
.
NextPackageVariable
();
entry
!=
nil
;
entry
,
err
=
reader
.
NextPackageVariable
()
{
for
entry
,
err
:=
reader
.
NextPackageVariable
();
entry
!=
nil
;
entry
,
err
=
reader
.
NextPackageVariable
()
{
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
if
typoff
,
ok
:=
entry
.
Val
(
dwarf
.
AttrType
)
.
(
dwarf
.
Offset
);
!
ok
||
typoff
==
utypoff
{
continue
}
// Ignore errors trying to extract values
// Ignore errors trying to extract values
val
,
err
:=
scope
.
extractVariableFromEntry
(
entry
)
val
,
err
:=
scope
.
extractVariableFromEntry
(
entry
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录