【问题标题】:Debugging Property Settings in Visual Studio 2008 with INotifyPropertyChanged在 Visual Studio 2008 中使用 INotifyPropertyChanged 调试属性设置
【发布时间】:2009-06-15 17:30:34
【问题描述】:

我有一个类,其属性由另一个类设置。在这个属性设置器中,程序爆炸了。

我只需要知道实际设置属性的类。

我以为我可以只查看堆栈跟踪,但因为我使用的是 INotifyPropertyChanged,所以我认为它没有提供我正在寻找的完整信息。

如果有帮助,这里是堆栈跟踪:

    MyProject!MyProject.MyClass.MyProperty.set(string value = "") Line 24   C#
[Native to Managed Transition]  
[Managed to Native Transition]  
System.Windows.dll!System.Windows.CLRPropertyListener.Value.set(object value = "") + 0x58 bytes 
System.Windows.dll!System.Windows.PropertyAccessPathStep.Value.set(object value = "") + 0x28 bytes  
System.Windows.dll!System.Windows.PropertyPathListener.LeafValue.set(object value = "") + 0x28 bytes    
System.Windows.dll!System.Windows.Data.BindingExpression.UpdateValue() + 0x26c bytes    

System.Windows.dll!System.Windows.Data.BindingExpression.TargetTextBoxLostFocus(object sender = {System.Windows.Controls.TextBox}, System.Windows.RoutedEventArgs e = {System.Windows.RoutedEventArgs}) + 0x55 字节
System.Windows.dll!System.Windows.CoreInvokeHandler.InvokeEventHandler(int typeIndex = 160,System.Delegate handlerDelegate = {System.Windows.RoutedEventHandler},对象发送者 = {System.Windows.Controls.TextBox},对象 args = {System .Windows.RoutedEventArgs}) + 0x6b3 字节 System.Windows.dll!MS.Internal.JoltHelper.FireEvent(System.IntPtr unmanagedObj = 173934552, System.IntPtr unmanagedObjArgs = 273432032, int argsTypeIndex = 160, string eventName = "M@2910") + 0x335 bytes

【问题讨论】:

    标签: .net silverlight debugging inotifypropertychanged


    【解决方案1】:

    嗯。 . .

    您可以在属性设置器中断点并使用调用堆栈窗口来跟踪调用它的那个。

    【讨论】:

    • 经过进一步审查,似乎不是我的代码调用了该属性,而是 Silverlight 控件
    【解决方案2】:

    这有点老派,但是您是否尝试过添加 Debug.WriteLine() 语句来跟踪您的程序执行?您可以在程序运行时在 VS 输出窗口中查看 Debug.WriteLine() 的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多