What can be watched from the directx classes?

Started by
4 comments, last by JasonBlochowiak 17 years, 9 months ago
I defined the D3D_DEBUG_INFO,and used debug version of direct3d,but I still can not see any useful information from the watch window. I must do something more to open some switch? I checked help of some d3d classes, and there is no data member. Is there usually no useful information in d3d classes even if all the debug switches are opened?
Advertisement
DirectX debug information shows up in the output window, and if your not seeing much, go to control panel->directx->direct3d tab->adjust the debug output level slider to "more"
Quote:Original post by rmlin
I checked help of some d3d classes, and there is no data member.
Is there usually no useful information in d3d classes even if all the debug switches are opened?


I wouldn't expect to be able to directly inspect any of the d3d classes in a meaningful way, even with the debug version and everything.

As Driv3MeFar mentioned, you can increase the amount of debug spew d3d generates, which can be quite helpful for diagnosing problems - the debug version of d3d also does a lot more validation along the way.

You might have more luck here if you pose a particular problem you're trying to solve.
Thanks for your reply!

I asked this question because I have seen an article said that you can see more infomation in watch window if you open the debug info.

And I think it is impossible now( No one can watch an nonexisted variable). I must have misunderstood the meaning of the article.
Quote:Original post by JasonBlochowiak
Quote:Original post by rmlin
I checked help of some d3d classes, and there is no data member.
Is there usually no useful information in d3d classes even if all the debug switches are opened?


I wouldn't expect to be able to directly inspect any of the d3d classes in a meaningful way, even with the debug version and everything.

As Driv3MeFar mentioned, you can increase the amount of debug spew d3d generates, which can be quite helpful for diagnosing problems - the debug version of d3d also does a lot more validation along the way.

You might have more luck here if you pose a particular problem you're trying to solve.


Actually you can. For example, with an LPDIRECT3DTEXTURE9 object you can view alot of the properties of how the texture was created etc.

You MUST define that D3D_DEBUG_INFO symbol before you include the directX header and wherever you include that header, not just once.

Dave
Quote:Original post by Dave
Actually you can. For example, with an LPDIRECT3DTEXTURE9 object you can view alot of the properties of how the texture was created etc.

You MUST define that D3D_DEBUG_INFO symbol before you include the directX header and wherever you include that header, not just once.


Wow. There are definitely times when being wrong is more useful than being right. :)

I think what I missed here was that you need the D3D_DEBUG_INFO defined, and you need to be running the debug version of D3D, and then you get useful additional debug info in those structures. If you have D3D_DEBUG_INFO defined and you're running the retail D3D, you get garbage in the debug fields - which makes sense. Of course, had I read the original post more carefully, I would've seen that's exactly what he said...

So, which structure is it that you (rmlin) are trying to look at that doesn't seem to have anything helpful in it? If you look for D3D_DEBUG_INFO in d3d9.h, you should see which structures have the additional data present.

This topic is closed to new replies.

Advertisement