如何在堆栈跟踪中调试没有代码的WPF异常?

时间:2011-12-02 19:49:33

标签: .net wpf error-handling

我们的代码产生了以下未处理的异常:

  

错误消息:System.Reflection.TargetParameterCountException:   参数计数不匹配。

     

在   System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags   invokeAttr,Binder binder,Object []参数,CultureInfo文化,   Boolean skipVisibilityChecks)

     

在   System.Delegate.DynamicInvokeImpl(Object [] args)

     

在   System.Windows.Threading.ExceptionWrapper.InternalRealCall(代表   callback,Object args,Int32 numArgs)

     

在   MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(对象   source,Delegate方法,Object args,Int32 numArgs,Delegate   catchHandler)。堆栈跟踪:   System.Reflection.TargetParameterCountException:参数计数   不匹配。

     

在System.Reflection.RuntimeMethodInfo.Invoke(Object obj,   BindingFlags invokeAttr,Binder binder,Object []参数,   CultureInfo culture,Boolean skipVisibilityChecks)

     

在   System.Delegate.DynamicInvokeImpl(Object [] args)

     

在   System.Windows.Threading.ExceptionWrapper.InternalRealCall(代表   callback,Object args,Int32 numArgs)

     

在   MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(对象   source,Delegate方法,Object args,Int32 numArgs,Delegate   catchHandler)。

我们知道这种情况何时发生。我们将一个项添加到由UI绑定的ObservableCollection。但是,我们无法解释为什么会发生这种情况,或者如何修复它,因为错误很少发生。由于它是一个零星的问题,它不太可能在B​​indings或DataTemplates中出现某种错字,因为那些预计每次都会出错。在我们的代码中没有任何地方我们使用Reflection或任何预期在运行时调用参数的东西;例外必须是指Microsoft的一些内部类。此外,堆栈跟踪仅包含Microsoft代码;我们一直无法找到堆栈跟踪本身中许多类的任何文档(即System.Windows.Threading.ExceptionWrapper)。我们如何调试这种错误?有没有办法在这些内部Microsoft类中放置某种断点,以便我们可以看到哪种输入触发了这种行为?

1 个答案:

答案 0 :(得分:1)

您可以通过捕获崩溃转储来确定应用程序死亡时的情况。

查看此问题以获取更多信息

How do I obtain a crash dump