C#应用程序进行调试运行,但不能没有 [英] C# app runs with debugging, but not without
问题描述
我运行一个(主要)单线程程序(有,做一切,其他人只能读的东西一个主线程)。我可以申请到一个小的改动后运行正常在VS2008(我改变窗体的文本,另一种形式的选项卡顺序),但我再也不能得到它的调试器之外的工作。有谁知道什么原因呢?
I'm running a (mostly) single threaded program (there's a main thread that does everything, the others only read stuff). I can get the application to run fine in VS2008 after a minor change (I changed the text of a form, and tab order of another form), but I can no longer get it to work outside of the debugger. Does anyone know what would cause this?
澄清:的发布模式,以启动调试器(F5)的作品。调试模式,lanuched与调试器(F5)的作品。调试可执行文件,或释放可执行VS之外或使用Ctrl + F5无法启动。
Clarification: Release mode, launched with debugger (F5) works. Debug mode, lanuched with debugger (F5) works. Debug executable, or release executable launched outside of VS or with Ctrl+F5 fail.
它采用微软的虚拟地球3D,它似乎只是崩溃的时候(装载环)的希望之环即将完成。
It uses Microsoft's Virtual Earth 3D, and it seems to crash just when the 'ring of hope' (loading ring) is about to complete.
事件日志说:.NET运行库版本2.0.50727.3053 - 致命的执行引擎错误(000006427F44AA6E)(80131506)
Event log says: ".NET Runtime version 2.0.50727.3053 - Fatal Execution Engine Error (000006427F44AA6E) (80131506)"
罪魁祸首:此行:
this.loader = PlugInLoader.CreateLoader(this.globeControl.Host);
导致其失败。然而,这是工作的形式使用完全相同的线路没有问题。这条线是nesseccary的程序运行。我不知道它在做什么。
Causes it to fail. However, the form that was working uses the exact same line without an issue. This line is nesseccary for the program to function. I have no idea what it's doing.
另一个铅的错误似乎是.NET框架内。应用工作在另一台计算机,尝试重新安装。 更新:不有所作为,虽然当我修好VS它不停地告诉我Visual Studio的是,虽然我没有把它运行甚至崩溃。
Another Lead the error seems to be inside the .NET framework. Application worked on another machine, attempting reinstall. Update: didn't make a difference, although when I repaired VS it kept telling me Visual Studio was crashing even though I wasn't running it.
错误 当我启动该程序一两分钟后,我得到: 应用程序生成了无法处理的异常。
Error When I launch the program after a couple minutes I get: Application has generated an exception that could not be handled.
Proccess ID = 0x9CC(2508),线程ID = 0xF0C(3852)。
Proccess ID=0x9CC (2508), Thread ID =0xF0C(3852).
点击确定以终止应用程序。
单击取消来调试应用程序。
Click OK to terminate the application.
Click CANCEL to debug the application.
反汇编是离奇:
0000000077EF2A90 int 3
0000000077EF2A91 int 3
0000000077EF2A92 int 3
0000000077EF2A93 int 3
0000000077EF2A94 int 3
0000000077EF2A95 int 3
0000000077EF2A96 xchg ax,ax
0000000077EF2A9A xchg ax,ax
0000000077EF2A9E xchg ax,ax
0000000077EF2AA0 int 3 <-- Crashes here
0000000077EF2AA1 ret
它重复同样的code座数次(上减去斧与自己交换)
It repeats that same code block several times (minus on ax exchanging with itself)
另外我的电脑,它一直每台机器我已经测试了,除了一个VM我的机器上,不会安装.NET框架,因为安装程序下载0字节出0字节的框架)...可爱的窗口。
推荐答案
我固定它,在.NET 2.0框架已损坏,当我重新安装了它,一切都奇迹般地开始工作了。
I fixed it, the .NET 2.0 Framework was corrupt and when I reinstalled it, everything magically started working again.
这篇关于C#应用程序进行调试运行,但不能没有的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!