2009-06-08 125 views
0

我的团队一直在处理的项目已经到了一个地步,我们需要将它部署到没有安装开发环境(Visual Studio 2005)的计算机上。我们首先解决了我们所依赖的依赖性问题,但我们仍然遇到问题。程序部署失败

现在,一旦安装程序完成,我们的项目就会在进入WinMain之前卡住某处。它只占用13MB的RAM,但占用了CPU周期的50%。

有没有关于如何调试这个问题的建议?

编辑:澄清 - 这是一个C++项目。

+0

不会抛出异常或错误?在代码中,你如何处理异常?事件查看器中的任何内容?当你说,在进入winmain之前......你的意思是你的主要形式? – curtisk 2009-06-08 19:47:22

+0

我们的程序是完全基于代码的 - 我们不使用表单。 WinMain是一切设置的地方,包括创建窗口。没有例外或错误,只是没有回应我们的代码。 – 2009-06-08 19:51:18

回答

2

是否有可能在某个全局变量初始化时发生挂起?这发生在WinMain之前,并且从全局变量的构造函数中可以运行任何代码。另外,请使用Process Explorer(请确保您部署PBD以获得有意义的堆栈跟踪)来查看繁忙线程的堆栈。堆栈跟踪应该显而易见该线程挂在哪里。

0

您可能不得不求助于旧式调试 - 将打印语句输出到控制台,该控制台引用了应用程序的哪一部分已成功运行。如果目标机器上没有安装IDE,那么确实没有太多的调试选项。

0

如果您正在运行的Vista或Windows 7,您可以从任务管理器创建内存转储(右键单击并选择创建转储文件),然后将其传输到您的开发计算机,加载符号,它会告诉你程序在哪里那时候。