繁体   English   中英

错误“不支持指定的方法”。 获取调用栈

[英]Error 'specified method is not supported'. Get call stack

我的应用程序在客户端 PC 上出现错误“不支持指定的方法”。 我不知道问题出在哪里。 他没有安装 Visual Studio,因此无法调试。

如果我在应用程序中编写一些调试代码并给他新的 exe,有​​没有办法在 WPF 中获取调用堆栈?

您可以订阅DispatcherUnhandledException以在应用程序级别捕获未处理的异常并记录异常的堆栈跟踪。

App.xaml.cs 中的DispatcherUnhandledException示例

public App() {
        this.DispatcherUnhandledException += OnDispatcherUnhandledException;
    }

    void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) {
        string errorMessage = string.Format("An unhandled exception occurred: {0}", e.Exception.Message);
        MessageBox.Show(errorMessage, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
        e.Handled = true;
    }

在大局中,您可以在以下位置捕获异常:您可以在不同级别捕获未处理的异常:

  1. AppDomain.UnhandledException来自AppDomain.UnhandledException所有线程。
  2. Dispatcher.UnhandledException来自单个特定 UI 调度程序线程。
  3. Application.DispatcherUnhandledException来自 WPF 应用程序中的主 UI 调度程序线程。
  4. TaskScheduler.UnobservedTaskException来自每个使用任务调度程序进行异步操作的 AppDomain。 您应该考虑在什么级别捕获未处理的异常。

在#2 和#3 之间做出决定取决于您是否使用了多个 WPF 线程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM