我正在使用Visual C ++ 2008在win 7 64bits计算机上开发3D应用程序。所有运行正常。当我在具有XP 32位(硬件3D激活)的VMWare虚拟机中的干净机器中或在我的朋友的机器中检查此应用程序时,应用程序失败。
应用程序的行为是不同的(进入清理机器)取决于编译(调试或发布),如果我使用MD(d)或MT(d)进行编译
我的问题:可以将应用程序调试到干净的机器中吗?存在像/ var / log / message这样的中央日志但是在windows中?如何检查我的开发机器中使用的dll,以便与清洁机器中的安装进行比较?
谢谢!
答案 0 :(得分:1)
如果它在同一个网络上,你可以使用远程调试器!但您可能首先要检查它是否不是32位操作系统上的64位应用程序。
答案 1 :(得分:1)
确保位数正确并且在测试计算机上安装了正确的VC ++ distributable。
如果这没有用,那么试试这个以便快速调试:
从MS(http://www.microsoft.com/whdc/devtools/debugging/default.mspx)
获取调试工具包在开发机器上安装它。
将安装文件夹复制到要调试的计算机上。
将程序复制/安装到本机,记住* .PDB文件。
从调试器文件夹启动WinDBG并使用'File-> Open executable'命令启动您的应用程序。 WinDGB会快速破解,你可以从那里进行调试。
如果您想要断点等,请在WinDBG帮助文件中查找命令。
答案 2 :(得分:1)
您可以尝试在dependency walker(www.dependencywalker.com)下运行您的应用。如果问题丢失或dll不正确,依赖者walker会很快显示出来。
答案 3 :(得分:1)
在XP上,您可以使用内置调试器ntsd.exe
。它基本上像windbg lite,无需额外安装。