debugging full screen applications in Visual C++

Started by
18 comments, last by iamwil 23 years, 2 months ago
I do full screen debugging using a voodoo2 card (I have a RivaTNT2 on the same machine )

Connecting one monitor to the voodoo port and another to the Riva, gives me FS grapics on the voodoo with VC++ debugger on the other. You need to play with the setting of the window type during setup though (can''t tell you what they are as I''m not at my development computer right now...)

Steve T.
Advertisement
quote:Original post by Zook

Ok, so what''s the disadvantages debugging in fullscreen?


You mean other it requiring more time, effort, and hardware? Prolly none...


- Houdini
- Houdini
I still think that it would be convenient not having to bother with window mode in some cases. If you happen to have all that hardware, exactly what time and effort does it require that windowed debug doesn''t?
yea! I''m happy people replied.

the reason I asked was that I was just playing around by writing my own line and blitting functions under directx. It looked fine windowed, but for some reason, under full screen, it was ''displaced''...I got diluted copies of the line across the screen, almost as if the y offset was incorrect in full screen.

In any case, whatever the solution to this particular problem, I figured that this problem of debugging in full screen might pop up again later, and wanted to ask.

Wil
quote:Original post by Countach

Yeah, HWay is right.
Besides, its easy to implement. Take a look at the sample code that comes with the SDK (the D3DFrame code). Its well worth the effort.


Just clarifying... The sample code will help with writing apps windowed and then porting it to full app?

Wil
quote:Original post by steve_t

I do full screen debugging using a voodoo2 card (I have a RivaTNT2 on the same machine )

Connecting one monitor to the voodoo port and another to the Riva, gives me FS grapics on the voodoo with VC++ debugger on the other. You need to play with the setting of the window type during setup though (can''t tell you what they are as I''m not at my development computer right now...)

Steve T.


during the installation setup of MSVC++? Or is it some setting under some menu in MSVC++?

Wil
quote:Ok, so what''s the disadvantages debugging in fullscreen?


Well, didn''t we already mention the fact that on one computer with one moniter (most people that setup; only 1), the debugger / DX app hanges when switching between the fullscreen app and the debugger? That should be reason enough!

But instead of talking about the disadvantages of fullscreen, ill imply them by talkning about the advantages of windowed mode. First off, we have a working debugger . Second, it''s less strain on the hardware. Third, we can actually run other programs at the same time. Fourth, we can use things such as windows menus, message boxes, etc., without getting all that wierd distortion like in fullscreen. Fifth, you get better practice with windows programming since you have to cooperate better with windows in windowed mode, and that then leads to the sixth advantage, which is better programming habits. Seventh, your program is less likely to crash the system if it itself crashes.
quote:Original post by iamwil
the reason I asked was that I was just playing around by writing my own line and blitting functions under directx. It looked fine windowed, but for some reason, under full screen, it was ''displaced''...I got diluted copies of the line across the screen, almost as if the y offset was incorrect in full screen.


If you are locking a surface, and move the pointer to a specific line, you need to add the surface pitch and not the surface width.
there is a big difference between windowed and fullscreen mode.
If you need fullscreen, dont just write the app in windowed mode, then convert to fullscreen. It is different.

Better use multimonitor or remote debugging for fullscreen, dont use windowed mode just for debugging. You will suffer from performance problems.
Zipster: You can debug fullscreen applications on any system with two (or more) displays. Place the debugger window in one of the secondary displays, and hit Step Into to run to the line of source code that you wish to start stepping into. The only problem is that you can''t use the mouse in the debugger while a fullscreen mode app is running, but the keyboard commands aren''t too hard.

I''d still recommend writing your game so that it runs in both modes; debugging windowed mode is easy. I wrote an article on this. It''s hard to read but you may be able to make some sense of it just search for my nick in the articles section of this web site.

And a tip for you when debugging in windowed mode: you may have to play around with the DirectInput cooperative levels a bit so you don''t get DIERR_NOTACQUIRED or whatever the error is.

This topic is closed to new replies.

Advertisement