Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 禁用WPF异常包装以进行调试_C#_Wpf_Debugging_Exception - Fatal编程技术网

C# 禁用WPF异常包装以进行调试

C# 禁用WPF异常包装以进行调试,c#,wpf,debugging,exception,C#,Wpf,Debugging,Exception,有没有一种方法可以在调试时禁用WPF非常恼人的异常包装 例如,一个窗口拥有一个文本框,该文本框绑定到一个属性,该属性上的getter抛出一个表示框架无法处理的异常(例如抛出新的StackOverflowException()) 我应该看到的是 get { throw new StackOverflowException(); // < Exception happened here } 由于WPF的异常包装,该异常有

有没有一种方法可以在调试时禁用WPF非常恼人的异常包装

例如,一个窗口拥有一个文本框,该文本框绑定到一个属性,该属性上的getter抛出一个表示框架无法处理的异常(例如抛出新的StackOverflowException())

我应该看到的是

        get
        {
            throw new StackOverflowException(); // < Exception happened here
        }
由于WPF的异常包装,该异常有时也会被捕获和调度,然后被重新捕获或隐藏在MS内部深处,并且不可能返回到实际的异常站点。这导致我们看到PresentationFramework.dll、PresentationCore.dll和WindowsBase.dll的巨大调用堆栈,但除了App.Main()之外没有其他用户代码


这发生在绑定期间、创建期间调用的事件以及其他完全随机的情况下(按钮单击期间的异常有时会对我造成影响)。现在是的,我可以查看异常内部的堆栈跟踪,但堆栈跟踪也几乎没有意义,因为我无法返回到该帧以查看抛出时的变量。

通常在调试时,我会使用debug->exceptions并选择抛出公共语言运行时异常。然后,它将在引发异常时停止


+1。我一直看到这一点——如果我的窗口的构造函数抛出异常,我必须深入研究两个级别的InnerException,以找出实际的错误。虽然这个解决方案确实有效,但它并不能完全解决特定的WPF问题。现在,我被迫看到所有异常,即使它们被捕获,如果我使用的是另一个第三库,它在内部抛出并捕获,谁知道是什么原因,这可能是一个真正的噩梦。我所寻找的是一种只查看WPF正在捕获/重新触发、发送到调试侦听器或以其他方式隐藏的未捕获异常的方法。
    No Source Available
    Call Stack Location:
    PresentationFramework.dll!MS.Internal.Data.PropertyPathWorker.RawValue(int k) + 0x64 bytes