我的团队一直在研究的项目已经到了我们需要将它部署到没有安装开发环境(Visual Studio 2005)的计算机的地步。我们首先修复了我们遇到的依赖问题,但我们仍然遇到问题。
现在,一旦安装程序完成,我们的项目就会在进入WinMain之前卡在某处。它只占用13MB的RAM,但占用了50%的cpu周期。
有关如何调试此问题的建议吗?
编辑:澄清 - 这是一个C ++项目。
答案 0 :(得分:2)
在初始化某个全局变量时是否可能发生挂起?这发生在WinMain之前,并且从全局变量的构造函数中可以运行任何代码。另外,使用Process Explorer查看繁忙线程的堆栈(确保部署PBD以获得有意义的堆栈跟踪)。堆栈跟踪应该使该线程挂起的位置明显。
答案 1 :(得分:0)
您可能不得不求助于旧时调试 - 将print语句输出到控制台,该控制台引用应用程序的哪些部分已成功运行。如果没有在目标计算机上安装IDE,则调试的选项确实不多。
答案 2 :(得分:0)
如果您正在运行vista或Windows 7,您可以从任务管理器创建内存转储(右键单击并选择创建转储文件),然后将其传输到您的开发计算机,加载符号,它将显示程序所在的位置那个时候。