Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
runtime
提交
e8187087
R
runtime
项目概览
dotNET Platform
/
runtime
12 个月 前同步成功
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
runtime
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
e8187087
编写于
9月 19, 2022
作者:
T
Thays Grazia
提交者:
GitHub
9月 18, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix behavior of JMC (#75783)
上级
774324e5
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
24 addition
and
16 deletion
+24
-16
src/mono/wasm/debugger/BrowserDebugProxy/MemberObjectsExplorer.cs
.../wasm/debugger/BrowserDebugProxy/MemberObjectsExplorer.cs
+10
-7
src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs
src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs
+2
-1
src/mono/wasm/debugger/BrowserDebugProxy/ValueTypeClass.cs
src/mono/wasm/debugger/BrowserDebugProxy/ValueTypeClass.cs
+1
-1
src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs
src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs
+5
-1
src/mono/wasm/debugger/tests/debugger-test-with-non-user-code-class/test.cs
...gger/tests/debugger-test-with-non-user-code-class/test.cs
+2
-2
src/mono/wasm/debugger/tests/debugger-test-without-debug-symbols-to-load/test.cs
...tests/debugger-test-without-debug-symbols-to-load/test.cs
+2
-2
src/mono/wasm/debugger/tests/debugger-test/debugger-test.cs
src/mono/wasm/debugger/tests/debugger-test/debugger-test.cs
+2
-2
未找到文件。
src/mono/wasm/debugger/BrowserDebugProxy/MemberObjectsExplorer.cs
浏览文件 @
e8187087
...
...
@@ -238,6 +238,9 @@ async Task<JArray> GetRootHiddenChildrenForProperty()
JObject
fieldValue
=
await
ReadFieldValue
(
sdbHelper
,
retDebuggerCmdReader
,
field
,
id
.
Value
,
typeInfo
,
valtype
,
isOwn
,
parentTypeId
,
getCommandOptions
,
token
);
numFieldsRead
++;
if
(
typeInfo
.
Info
.
IsNonUserCode
&&
getCommandOptions
.
HasFlag
(
GetObjectCommandOptions
.
JustMyCode
)
&&
field
.
Attributes
.
HasFlag
(
FieldAttributes
.
Private
))
continue
;
if
(!
Enum
.
TryParse
(
fieldValue
[
"__state"
].
Value
<
string
>(),
out
DebuggerBrowsableState
fieldState
)
||
fieldState
==
DebuggerBrowsableState
.
Collapsed
)
{
...
...
@@ -311,7 +314,7 @@ JArray GetHiddenElement()
int
typeId
,
string
typeName
,
ArraySegment
<
byte
>
getterParamsBuffer
,
bool
isAutoExpandable
,
GetObjectCommandOptions
getCommandOptions
,
DotnetObjectId
objectId
,
bool
isValueType
,
bool
isOwn
,
...
...
@@ -347,6 +350,10 @@ JArray GetHiddenElement()
MethodAttributes
getterAttrs
=
getterInfo
.
Info
.
Attributes
;
MethodAttributes
getterMemberAccessAttrs
=
getterAttrs
&
MethodAttributes
.
MemberAccessMask
;
MethodAttributes
vtableLayout
=
getterAttrs
&
MethodAttributes
.
VtableLayoutMask
;
if
(
typeInfo
.
Info
.
IsNonUserCode
&&
getCommandOptions
.
HasFlag
(
GetObjectCommandOptions
.
JustMyCode
)
&&
getterMemberAccessAttrs
==
MethodAttributes
.
Private
)
continue
;
bool
isNewSlot
=
(
vtableLayout
&
MethodAttributes
.
NewSlot
)
==
MethodAttributes
.
NewSlot
;
typePropertiesBrowsableInfo
.
TryGetValue
(
propName
,
out
DebuggerBrowsableState
?
state
);
...
...
@@ -454,7 +461,7 @@ async Task UpdateBackingFieldWithPropertyAttributes(JObject backingField, string
{
string
returnTypeName
=
await
sdbHelper
.
GetReturnType
(
getMethodId
,
token
);
JObject
propRet
=
null
;
if
(
isAutoExpandable
||
(
state
is
DebuggerBrowsableState
.
RootHidden
&&
IsACollectionType
(
returnTypeName
)))
if
(
getCommandOptions
.
HasFlag
(
GetObjectCommandOptions
.
AutoExpandable
)
||
getCommandOptions
.
HasFlag
(
GetObjectCommandOptions
.
ForDebuggerProxyAttribute
)
||
(
state
is
DebuggerBrowsableState
.
RootHidden
&&
IsACollectionType
(
returnTypeName
)))
{
try
{
...
...
@@ -568,10 +575,6 @@ JObject GetNotAutoExpandableObject(int methodId, string propertyName, bool isSta
for
(
int
i
=
0
;
i
<
typeIdsCnt
;
i
++)
{
int
typeId
=
typeIdsIncludingParents
[
i
];
var
typeInfo
=
await
sdbHelper
.
GetTypeInfo
(
typeId
,
token
);
if
(
typeInfo
.
Info
.
IsNonUserCode
&&
getCommandType
.
HasFlag
(
GetObjectCommandOptions
.
JustMyCode
))
continue
;
int
parentTypeId
=
i
+
1
<
typeIdsCnt
?
typeIdsIncludingParents
[
i
+
1
]
:
-
1
;
string
typeName
=
await
sdbHelper
.
GetTypeName
(
typeId
,
token
);
...
...
@@ -604,7 +607,7 @@ JObject GetNotAutoExpandableObject(int methodId, string propertyName, bool isSta
typeId
,
typeName
,
getPropertiesParamBuffer
,
getCommandType
.
HasFlag
(
GetObjectCommandOptions
.
ForDebuggerProxyAttribute
)
,
getCommandType
,
id
,
isValueType
:
false
,
isOwn
,
...
...
src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs
浏览文件 @
e8187087
...
...
@@ -60,7 +60,8 @@ internal enum GetObjectCommandOptions
ForDebuggerProxyAttribute
=
8
,
ForDebuggerDisplayAttribute
=
16
,
WithProperties
=
32
,
JustMyCode
=
64
JustMyCode
=
64
,
AutoExpandable
=
128
}
internal
enum
CommandSet
{
...
...
src/mono/wasm/debugger/BrowserDebugProxy/ValueTypeClass.cs
浏览文件 @
e8187087
...
...
@@ -290,7 +290,7 @@ public async Task ExpandPropertyValues(MonoSDBHelper sdbHelper, bool splitMember
typeId
,
className
,
Buffer
,
autoExpand
,
autoExpand
?
GetObjectCommandOptions
.
AutoExpandable
:
GetObjectCommandOptions
.
None
,
Id
,
isValueType
:
true
,
isOwn
:
i
==
0
,
...
...
src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs
浏览文件 @
e8187087
...
...
@@ -1067,7 +1067,11 @@ public async Task InspectThisThatInheritsFromClassNonUserCode(string class_name,
{
myField
=
TNumber
(
0
),
myField2
=
TNumber
(
0
),
},
"this_props"
,
num_fields
:
2
);
propB
=
TGetter
(
"propB"
),
propC
=
TGetter
(
"propC"
),
e
=
TNumber
(
50
),
f
=
TNumber
(
60
),
},
"this_props"
,
num_fields
:
6
);
}
else
{
...
...
src/mono/wasm/debugger/tests/debugger-test-with-non-user-code-class/test.cs
浏览文件 @
e8187087
...
...
@@ -16,11 +16,11 @@ public class ClassNonUserCodeToInheritThatInheritsFromNormalClass : NormalClass
private
int
d
;
public
int
e
;
protected
int
f
;
p
ublic
int
G
p
rivate
int
G
{
get
{
return
f
+
1
;}
}
p
ublic
int
H
=>
f
;
p
rivate
int
H
=>
f
;
public
ClassNonUserCodeToInheritThatInheritsFromNormalClass
()
{
...
...
src/mono/wasm/debugger/tests/debugger-test-without-debug-symbols-to-load/test.cs
浏览文件 @
e8187087
...
...
@@ -10,11 +10,11 @@ public class ClassWithoutDebugSymbolsToInherit
private
int
d
;
public
int
e
;
protected
int
f
;
p
ublic
int
G
p
rivate
int
G
{
get
{
return
f
+
1
;}
}
p
ublic
int
H
=>
f
;
p
rivate
int
H
=>
f
;
public
ClassWithoutDebugSymbolsToInherit
()
{
...
...
src/mono/wasm/debugger/tests/debugger-test/debugger-test.cs
浏览文件 @
e8187087
...
...
@@ -1300,11 +1300,11 @@ public class ClassNonUserCodeToInherit
private
int
d
;
public
int
e
;
protected
int
f
;
p
ublic
int
G
p
rivate
int
G
{
get
{
return
f
+
1
;}
}
p
ublic
int
H
=>
f
;
p
rivate
int
H
=>
f
;
public
ClassNonUserCodeToInherit
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录