c# – 没有任何异常的应用程序崩溃

我有一个多线程.Net C#应用程序,它使用Direct3D 9/10和xaudio2. (Direct3D仅由一个线程访问,对于xaudio2也是如此.Direct3D不是问题,因为在DX9或DX10模式下错误显示,而其行为没有任何变化.)

有时候(有些区域会随机出现这个问题)这个应用程序会以一种相当不引人注目的方式崩溃.即使应用程序是通过带有调试器的visual studio启动的,它也会崩溃而不会出现任何异常. (首先说“applicationname.svchost.exe崩溃等等.等等.你想调试吗?”,如果我按下它会告诉我“你无法调试已经关闭的应用程序.”

没有办法找出崩溃的原因是什么?因为我的想法已经用完了,调试器根本没有给我任何信息.没有例外,我甚至无法进行堆栈跟踪或转储. :P(我假设是一个同步问题(甚至认为在那个领域我只做顺序工作……),但是为什么不启动异常?:|)

在问题发生的地方我正在卸载一个重新加载一系列与小说相关的类(在顺序核心线程中,所以我怀疑它可能是一个问题)并通过xaudio2开始新的音乐. (顺便说一句,关于xaudio2的多线程考虑是什么?从多个线程调用是否安全?)

谢谢您的帮助.

附:有一个软件附加到我的监控所有呼叫,并告诉我崩溃前的最后一次呼叫是什么?

解决方法

你应该尝试使用 Windbg,分析崩溃转储应该指出你的问题,如果你的怀疑是正确的,这是一个同步问题,问题的原因可能很难发现.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...