我的机器出了问题:如何在开发环境之外调试?

时间:2010-11-25 14:57:39

标签: c++ windows debugging

我正在使用Visual C ++ 2008在win 7 64bits计算机上开发3D应用程序。所有运行正常。当我在具有XP 32位(硬件3D激活)的VMWare虚拟机中的干净机器中或在我的朋友的机器中检查此应用程序时,应用程序失败。

应用程序的行为是不同的(进入清理机器)取决于编译(调试或发布),如果我使用MD(d)或MT(d)进行编译

我的问题:可以将应用程序调试到干净的机器中吗?存在像/ var / log / message这样的中央日志但是在windows中?如何检查我的开发机器中使用的dll,以便与清洁机器中的安装进行比较?

谢谢!

4 个答案:

答案 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,无需额外安装。