2012-02-06 31 views
2

我的程序使用MSSQL数据库并且一直正常工作。但是,在做了一些改变后,包括从VS2008转换到VS2010,生成32位应用程序。它开始有以下奇怪的问题: 当我尝试通过单击系统菜单(X按钮)关闭控制台时,它不关闭,您可以移动控制台,还可以单击左侧的系统菜单,如属性等,但该程序不会显示在taskmanger的进程选项卡上,因此,无法关闭它,而是重新启动框。控制台应用程序变成ghost并且不显示在任务管理器进程选项卡上

另外,当程序处于这种幽灵模式时,我实际上可以启动另一个实例。这意味着ghost应用程序已经释放了大部分资源,例如文件句柄,db等。

这个问题似乎在ms-sql服务器出现问题后出现,例如超时异常。我通过在同一个db函数调用中抛出一个异常来模拟这种情况,但这确实会造成幻影状态。盒是没有Hyper-V,SP2,32位的Windows Server Standard。

+0

要澄清,您有一个控制台应用程序运行在服务器上的命令提示符窗口中? – NotMe 2012-02-06 20:31:46

+0

如果从调用DB调用的块中抛出异常会重现问题,那么应该在抛出异常之后查看哪些不会发生的事情(即哪些代码不会像通常那样运行)。 – 2012-02-06 20:33:30

+0

这可能是一个愚蠢的问题,但是在尝试关闭它之前,是否显示在taskmanager中?你是否检查所有用户的流程?它是否发生在调试中,是否仅在您部署的机器上?如果我被难住了,我会添加一个日志文件(因为我没有一个,我会这样做),并开始写入它,获得一些线索。 – 2012-02-06 20:33:36

回答

相关问题