如何评估 IDebugProperty2 的引用?
How to evaluate reference of IDebugProperty2?
如何获取Microsoft.VisualStudio.Debugger.IDebugProperty2
中object的地址?
前置 &
(&expression
) 不是解决方案,因为我会丢失 属性 的 children,但这是我想要的。
我通过 IDebugExpression2::EvaluateSync
获得 属性2 变量名作为表达式。
如果里面的变量是指针(引用类型的变量)它returns地址。
if (property2.GetMemoryContext(out var memoryContext2) != (int) HResults.S_OK || memoryContext2 == null)
return 0;
var info = new CONTEXT_INFO[1];
memoryContext2.GetInfo(enum_CONTEXT_INFO_FIELDS.CIF_ADDRESS, info);
return long.Parse(info[0].bstrAddress.Substring(2), System.Globalization.NumberStyles.HexNumber);
如何获取Microsoft.VisualStudio.Debugger.IDebugProperty2
中object的地址?
前置 &
(&expression
) 不是解决方案,因为我会丢失 属性 的 children,但这是我想要的。
我通过 IDebugExpression2::EvaluateSync
获得 属性2 变量名作为表达式。
如果里面的变量是指针(引用类型的变量)它returns地址。
if (property2.GetMemoryContext(out var memoryContext2) != (int) HResults.S_OK || memoryContext2 == null)
return 0;
var info = new CONTEXT_INFO[1];
memoryContext2.GetInfo(enum_CONTEXT_INFO_FIELDS.CIF_ADDRESS, info);
return long.Parse(info[0].bstrAddress.Substring(2), System.Globalization.NumberStyles.HexNumber);