.net 如何获取System.Diagnostics.StackFrame获得的方法的第一个参数(此参数)?
框架回调: 我正在调试由PropertyChanged事件触发的WPF绑定。然后通过一些中间框架调用将其回调到proprety中 调试: 我在属性getter中设置了一个断点。在即时窗口中,我设置了一个.net 如何获取System.Diagnostics.StackFrame获得的方法的第一个参数(此参数)?,.net,debugging,stack-trace,.net,Debugging,Stack Trace,框架回调: 我正在调试由PropertyChanged事件触发的WPF绑定。然后通过一些中间框架调用将其回调到proprety中 调试: 我在属性getter中设置了一个断点。在即时窗口中,我设置了一个StackTrace,并找到了一个与BindingExpression关联的StackFrame 缺少的实例: 我希望能够在我感兴趣的StackFrame上调用GetMethod获得的方法中从堆栈中获取this参数。如何获取此对象引用?我发现我可以使用SOS通过类似以下命令获取此对象引用: !CL
StackTrace
,并找到了一个与BindingExpression
关联的StackFrame
缺少的实例:
我希望能够在我感兴趣的
StackFrame
上调用GetMethod
获得的方法中从堆栈中获取this
参数。如何获取此对象引用?我发现我可以使用SOS通过类似以下命令获取此对象引用:
!CLRStack -p // Dump the CLR stack
...
0043d6ec 511dcea7 System.Windows.Data.BindingExpression.TransferValue(System.Object, Boolean)
PARAMETERS:
this (<CLR reg>) = 0x0db05468
//...
!do 0x0db8e7fc // Dump the object
Name: System.Windows.Data.BindingExpression
//...
Fields:
MT Field Offset Type VT Attr Value Name
//...
55569fbc 4001ae3 10 System.WeakReference 0 instance 0db8ea9c _targetElement
!do 0x0db8ea9c
Name: System.WeakReference
Fields:
MT Field Offset Type VT Attr Value Name
5556ab88 40006ed 4 System.IntPtr 1 instance 0E92C0BC m_handle
!dumpvc 0x5556ab88 0x0E92C0BC // Dump the value
Name: System.IntPtr
Fields:
MT Field Offset Type VT Attr Value Name
5552a3f8 40004a9 0 PTR 0 instance 0df6d9f8 m_value
!do 0x0df6d9f8
Name: System.Windows.Controls.TextBox
//...
!CLRStack-p//转储CLR堆栈
...
0043d6ec 511dcea7 System.Windows.Data.BindingExpression.TransferValue(System.Object,布尔值)
参数:
此()=0x0db05468
//...
!执行0x0db8e7fc//转储对象
名称:System.Windows.Data.BindingExpression
//...
领域:
MT字段偏移类型VT属性值名称
//...
55569fbc 4001ae3 10 System.WeakReference 0实例0db8ea9c\u targetElement
!执行0x0db8ea9c
名称:System.WeakReference
领域:
MT字段偏移类型VT属性值名称
5556ab88 40006ed 4 System.IntPtr 1实例0E92C0BC m_句柄
!dumpvc 0x5556ab88 0x0E92C0BC//转储该值
名称:System.IntPtr
领域:
MT字段偏移类型VT属性值名称
5552a3f8 40004a9 0 PTR 0实例0df6d9f8 m_值
!执行0x0df6d9f8
名称:System.Windows.Controls.TextBox
//...
但是,我希望在使用SOS进行w/o调试时可以使用一些东西来深入了解这一点