游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3332|回复: 5

[求助]DirectX的Retail和Debug模式

[复制链接]

10

主题

55

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2009-8-14 18:24:00 | 显示全部楼层 |阅读模式
最近用DX写了一个程序,最初DirectX设置的是Retail模式,程序能够正常运行;可是当我将DirectX设置为Debug模式时程序就不能运行了,在如下位置产生了中断,但出现的不是黄色的中断箭头,是绿色的箭头
void CInit::Render(float timeDelta)
{
   ...
   g_pD3DDevice-&gtresent(NULL, NULL, NULL, NULL); //产生中断的语句,指针g_pD3DDevice此时并没有释放
}

提示信息为
XXX.exe 中的 0x5b38dfbf 处未处理的异常: 0xC0000005: 读取位置 0x00000188 时发生访问冲突

堆栈调用情况为
XXX.exe!CInit::Render(float timeDelta=0.00000000)  行476 + 0x1e 字节
XXX.exe!WinMain(HINSTANCE__ * hInstance=0x00e80000, HINSTANCE__ * __formal=0x00000000, HINSTANCE__ * __formal=0x00000000, HINSTANCE__ * __formal=0x00000000)  行903
XXX.exe!__tmainCRTStartup()  行263 + 0x2c 字节
XXX.exe!WinMainCRTStartup()  行182

Render()函数的调用位置是在主函数的如下位置
while (msg.message != WM_QUIT)
{
        if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
        {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
        }
        else
        {
                float currTime = (float)timeGetTime();
                static float lastTime = currTime;
                float timeDelta = (currTime - lastTime) * 0.001f;

                Initialize.Render(timeDelta);

                lastTime = currTime;
        }
}

请问各位大虾这个问题该怎么解决?
PS:我用的是DX9.0c,平台VS2008

6

主题

54

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2009-8-14 22:57:00 | 显示全部楼层

Re:[求助]DirectX的Retail和Debug模式

debug模式对程序各方面要求更严格,所以就异常了,俺以前也是这样。。。

10

主题

55

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2009-8-15 17:32:00 | 显示全部楼层

Re: Re:[求助]DirectX的Retail和Debug模式

cty41: Re:[求助]DirectX的Retail和Debug模式

debug模式对程序各方面要求更严格,所以就异常了,俺以前也是这样。。。

可是用Retail模式的话,能保证程序在不同的系统中运行正常吗?我是在VISTA下写的程序,拿到XP下运行,切换程序的时候就容易出现卡死的情况

6

主题

54

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2009-8-18 10:48:00 | 显示全部楼层

Re:[求助]DirectX的Retail和Debug模式

尽量用debug模式吧,能测出很多隐含的问题,我在xp下写的,我也试过移植到vista上,有时会出问题(异常),我也不太清楚为什么,等高人回答吧

6

主题

54

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2009-8-18 10:49:00 | 显示全部楼层

Re:[求助]DirectX的Retail和Debug模式

尽量用debug模式吧,能测出很多隐含的问题,我在xp下写的,我也试过移植到vista上,有时会出问题(异常),我也不太清楚为什么,等高人回答吧

6

主题

54

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2009-8-18 10:50:00 | 显示全部楼层

Re:[求助]DirectX的Retail和Debug模式

尽量用debug模式吧,能测出很多隐含的问题,我在xp下写的,我也试过移植到vista上,有时会出问题(异常),我也不太清楚为什么,等高人回答吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-21 08:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表