找到不是直接来自我的代码的托管异常的来源?

Dav*_*ave 9 c# exception

如果这真的是一个超级用户问题我提前道歉...我只是不确定,但这似乎更多的开发.一边而不是技术支持方面.:)

这不一定是个问题,但它确实让我在我的系统上完全疯狂.它也只发生在我的电脑上.

当我启动任何应用程序,甚至是空白的WPF应用程序时,我看到四个例外:

PresentationCore.dll中出现类型'System.IO.DirectoryNotFoundException'
的第一次机会异常mscorlib.dll中出现类型'System.ArgumentException'
的第一次机会异常mscorlib.dll中出现类型'System.ArgumentException' 的第一次机会异常
PresentationCore.dll中出现"System.InvalidOperationException"类型的第一次机会异常

为了弄清楚它们来自何处,我然后设置VS2008以打破任何抛出的CLR异常,这里是信息:

例外#1:
找不到路径'D:\ Dell\Reader2.0\SPLASH.SYS\fonts\AscenderUni.ttf'的一部分.

例外#2:
不支持文化名称'ug'.
参数名称:名称

例外#3:
不支持文化名称'ug'.
参数名称:名称

例外#4:
IetfLanguageTag'ug'没有注册的CultureInfo.

我通过Process Monitor和Process Explorer戳了戳.Process Monitor显示我的应用程序正在执行RegQueryValue,我当然不负责......但是某些DLL(可能来自Dell crapware)正在被我的进程加载并正在读取此regkey.然后我查看了Process Explorer,希望看到我的应用程序正在加载哪些DLL,但无法找到该信息.然后我尝试了PrcView并看到了我的应用程序正在加载的模块.

我很惊讶地看到有多少其他模块被加载,但我没有看到戴尔相关的任何东西.我也想知道如何将Norton Internet Security DLL加载到我的进程中,但我认为这是有意的,Norton会采取一些特殊措施来确保进程的安全性.

我还能做些什么来识别和删除这些异常的来源?

UPDATE

不确定这是否让我感到困惑.这个异常是在我的应用程序由于某种原因加载的DLL中引发的(我没有从我的项目中引用与Dell相关的任何内容).我现在已经卸载了那个应用程序,我仍然得到了愚蠢的例外.这一切在技术上都很好,因为异常是在某个地方处理的,可能是在那个DLL中,但是我只是因为运行我的应用程序时弹出了四条额外的消息(实际上是8,因为我必须关闭每个异常的两个对话框).叫我懒惰,但我从来没有问过这个该死的DLL首先加载.:)

也许现在是时候使用msconfig开始禁用某些戴尔服务了.我实际上有空闲时间后会玩这个.

Dav*_*ton 17

没有文件损坏.因为我一直在努力追捕这个,我想出了发生了什么.在某个地方,一个字体安装了维吾尔文化,这显然是土耳其/中国文化(尽我所知),以及他们的CultureInfo标签?"微克".当缓存字体时,系统试图加载维吾尔族文化.可悲的是,我的Windows安装似乎在Windows中明显缺少这种文化.知道我不会很快在我的机器上使用这种文化,我按照MSDN上的指示创建并安装了一种新的文化.

虽然错误不会伤害任何重大事件.这只是一个第一次机会异常,毕竟,这是恼人的废话了我.所以这就是我做的.

  1. 创建一个新的控制台应用.
  2. 添加对sysglobal的引用.
  3. 添加以下代码:

        var culture = new CultureAndRegionInfoBuilder("ug", CultureAndRegionModifiers.None);
        var ci = new CultureInfo("en-US");
        var ri = new RegionInfo("US");
        culture.LoadDataFromCultureInfo(ci);
        culture.LoadDataFromRegionInfo(ri);
        culture.Register();
    
    Run Code Online (Sandbox Code Playgroud)
  4. 建立.

  5. 从Windows资源管理器(您需要管理员权限执行此操作),以管理员身份运行已编译的可执行文件

如果一切顺利,现在应该在C:\ windows\Globalization中有一个名为"ug.nlp"的文件.

您不应该再次收到该消息.

  • 我追踪它是因为我厌倦了十二次击中"F5"进入我的应用程序.叹.哦,是的,这是我见过的唯一*我在网上发布此错误的地方. (2认同)