0

我已经编写这个程序有一段时间了,我终于准备好开始测试它了。它在我的开发机器上 100% 工作,但我想在它从未运行过的机器上尝试它。所以,我把我的程序交给了一台测试计算机。当我双击exe时,什么也没发生。我打开任务管理器,又试了一次。我看到这个过程开始了,但大约 5 秒后,它消失了。没有错误,没有例外,没有什么。我将如何尝试找出问题所在?我还很新,我从来没有发生过这种情况。感谢您的任何帮助!

编辑

很抱歉之前没有提及。这是一个winforms应用程序。

编辑 2

所以,原来发生的事情是我试图将用于 64 位操作系统的 dll 转换为 32 位操作系统。在 Windows XP 中,这会引发 BadImageFormatException。但是,正如我所说,在 Windows 7 中,它一点也不例外。

4

3 回答 3

1

这是一个泡菜,毫无疑问。我以前必须调试过这种类型的东西。

第一点有用的信息是没有抛出异常。这告诉我,实际代码中的某处是解决问题的关键。您要么捕获异常并静默关闭,要么您的代码达到了它认为是“正常”的退出条件并以它认为正常的方式关闭。

为了弄清楚它退出的位置和原因,我将在应用程序的关键点添加调试日志记录,并将一个侦听器附加到写入文件的 Debug/Trace 侦听器集合。“关键点”是应用程序应该退出(或窗口的主窗体应该关闭)的地方,并且在任何“catch”块或错误事件处理程序中。在测试计算机上运行这个新版本,看看它会给你什么。这应该告诉你程序在幕后的基本流程,以及它通过什么机制关闭。

于 2012-08-30T16:39:52.817 回答
0

如果您正在运行控制台应用程序,它可能会运行然后自行关闭。尝试打开命令提示符,然后从那里执行应用程序。如果您的程序有输出,那么您将在该命令窗口中看到它。

于 2012-08-30T16:35:52.957 回答
0

您是否检查过应用程序事件日志?

您是否安装了必要的 .Net 版本?

也许您应该在整个应用程序中通过调用 MessageBox.Show("I failed here ") 来处理更多异常。

于 2012-08-30T16:35:58.107 回答