【问题标题】:WPF Application Crashing Without throwing any ExceptionsWPF 应用程序崩溃而不抛出任何异常
【发布时间】:2015-11-05 05:57:55
【问题描述】:

Iam 在框架 4.5 中创建了一个 WPF 应用程序并部署为 ClickOnce 应用程序。 它用于连接和编写 QuickBooks(第 3 方)软件。 除少数系统外,该应用程序在每个系统上都运行良好。 在少数系统中,即使我将应用程序保持空闲状态,它也会崩溃。(连接到第 3 方软件后)。 我不知道只有少数系统到底发生了什么。

崩溃后立即打开 JIT。 我有以下调用堆栈

4036a9ae()  Unknown
[Frames below may be incorrect and/or missing]  
kernel32.dll!@BaseThreadInitThunk@12()  Unknown
ntdll.dll!__RtlUserThreadStart()    Unknown
ntdll.dll!__RtlUserThreadStart@8()  Unknown

我添加了所有异常处理机制,包括捕获 Dispatcher Unhandled 异常和 Unhandled 异常。即使它没有捕获任何异常。

谁能告诉我,如何解决此问题或如何找出其背后的确切原因? 最近两周我正在努力解决它。

我的事件日志如下所示

Exception code: 0xc00001a5
Fault offset: 0x00056738
Faulting process id: 0xe9c

【问题讨论】:

  • 你在任何地方调用native代码吗?
  • 我没听懂?这是什么意思?调用本机代码?
  • 在工作和不工作的机器之间的规格是否相同?例如操作系统版本,x86 还是 64?
  • 是的。一切都是一样的。都是 64 位操作系统。
  • 您需要检查事件查看器并为您的应用程序查找错误、警告或信息

标签: c# .net wpf quickbooks


【解决方案1】:

转到解决方案的项目属性并将应用程序构建启动类型设置为控制台应用程序,然后在 MainWindow 的构造函数中使用 try catch 如下所示

public MainWindow()
{
   try{
   InitializeComponent();
   //you remaining code
   }
   catch(Exception ex){
     Console.Out.Writeline(ex.Message);
   }
}

然后在您的应用崩溃的电脑上部署...并在控制台中查看错误是什么

【讨论】:

  • 不存在Console.out 属性或字段。
  • 这不是 Java,也不是 Console.Out 家伙。
  • @WingerSendon:它是所讨论的 C# WPF。并且有 Console.Out.Writeline 是一个有效的方法。欲了解更多信息docs.microsoft.com/en-us/dotnet/api/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
  • 1970-01-01
  • 1970-01-01
  • 2014-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多