2015-06-28 50 views
0

我最近在DirectX中创建了一个3D环境,并制作了一个小型“演示”应用程序。我使用Windows 8 SDK在Win 7,VS 2013上创建了该应用程序。我想在我的网站上建立一个应用程序供所有人使用。然而,我不确定如何做到这一点。当我构建一个x64发布版本并尝试在我的Win 10桌面或我的兄弟win 7桌面上运行它时,它将无法运行。一旦我点击应用程序说“GraphicsProject.exe已停止工作”,它就会崩溃。 .exe在我创建的笔记本电脑上运行良好(VS版本以外的版本)以及另一台Win 7计算机上。将我的DirectX应用程序移植到其他机器

没有工作的电脑安装了DirectX(DX11 +),并且我在它们上安装了C++和C运行时库。还有什么可能导致崩溃,或者它可以直接与我的代码相关?

我意识到问题可能有多种原因,但我不确定要查看哪些信息才能缩小问题范围。如果你需要任何额外的信息,只需要问!

+0

这是您的代码在某处的错误。确保你正在检查所有返回值的错误。使用调试器查看它崩溃的位置,并找出原因。 –

+0

我如何使用VS之外的版本构建进行调试?此外,什么可能导致代码在一台64位Win 7上运行正常,而不是另一台? – user3334986

+0

您可以在计算机上下载并安装Microsoft的Windows调试工具,但只需安装Visual Studio可能会更简单。任何事情都可能导致事故。使用调试器可以帮助您找到问题。 –

回答

0

从这个确切的问题(获得一个DirectX版本应用在非开发机工作)经验:

不要释放机上安装任何MS调试器。这会污染测试机器,只会延长问题。正如Ross所说的那样,代码崩溃会影响调试环境的补偿或某些环境/图形卡设置不匹配(可能是着色器不匹配/测试机器上过时的设备驱动程序)。

开始在应用程序中建立日志记录。在早期开发时执行它,创建编译器指令(#ifdef)来打开和关闭它们,并使用多级调试(详细信息,警告,错误,信息)。写出您输入的每个函数名称,发送的参数,传回的结果。学会爱伐木。

此方法保证您不会用完测试机器,或者兄弟们开始抱怨您在他们的机器上安装了太多东西来测试您的软件。为了明确问题所需要做的迭代次数与包含的日志量成正比。

相关问题