Skip to main content
GameDev.net gamedev.net
🔒 Locked

DX debug runtimes question..

Started by Vecna Jun 8, 2002 at 9:16 PM 7 replies 250+ views
Original Post
Vecna
Vecna
Anyone know how to set up the debugger in Borland C++ Builder to show DirectX debug info too?? Or, is there a way to output it to a different program or file? And if at all possible I would not like to buy another monitor + video card to do this.
S1CA
S1CA
Go to www.sysinternals.com and download DbgView.

There is also a debug viewer (though not as nice) which comes with the SDK.

--
Simon O''Connor
Creative Asylum Ltd
www.creative-asylum.com
Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site
Eli Gottlieb
Eli Gottlieb
Where in the SDK is this debug viewer prog? A path and filename or something please.

void Signature(void* Pointer)
{
PObject(Pointer)->ShowMessage("Why do we need so many pointers?");
};
void Signature(void* Pointer){PObject(Pointer)->ShowMessage("Why do we need so many pointers?");};
Vecna
Vecna
I downloaded DbgView but I still can''t get DX messages to show up. I turned on the debugger in the control panel settings too. What am I doing wrong here?
S1CA
S1CA
Vecna:

I''m not sure - if the sliders are available in the control panel, and they''re turned up, AND you have the runtimes set to debug in the control panel you should be getting debug output in dbgview.

Make sure you run DbgView *BEFORE* you run your code. The only other thing I can think of is that you might be using older DX interfaces which aren''t outputting info for some reason.

When I run DbgView with no compiler loaded at all, and then run a DirectX SDK sample I get lots of debug info.



Eli Gottlieb:

File Explorer is your friend.

DXSDK\Bin\DXUtils\dbmon.exe

Assuming of course you have the complete SDK rather than just the headers and libs.

You just run it and any debug output appears in its window.

--
Simon O''Connor
Creative Asylum Ltd
www.creative-asylum.com
Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site
Eli Gottlieb
Eli Gottlieb
Veca, I''d look around if you''re STILL not getting debug info after doing everyting S1CA said. I heard something once about the D3D8 debug runtimes being screwed over. I''m checking with my copy of C++ Builder right now.

void Signature(void* Pointer)
{
PObject(Pointer)->ShowMessage("Why do we need so many pointers?");
};
void Signature(void* Pointer){PObject(Pointer)->ShowMessage("Why do we need so many pointers?");};
Eli Gottlieb
Eli Gottlieb
I ran DBMon just before running my program and just before starting C++ Builder and left it running while I ran my prog. I didn''t get ANY debug output! Even with the D3D debug runtimes at maximum debug output! How do you use this thing? Also, I''m having a problem with IDirect3D8::CreateDevice(). The first 3 or so times I run the prog it returns S_OK and the device''s interface pointer is valid. After that CreateDevice() just keeps returning D3DERR_INVALIDCALL. And yes, I''m releasing the interface when the program exits.

void Signature(void* Pointer)
{
PObject(Pointer)->ShowMessage("Why do we need so many pointers?");
};
void Signature(void* Pointer){PObject(Pointer)->ShowMessage("Why do we need so many pointers?");};
S1CA
S1CA
1. I think it may need Windows 2000/Windows XP

2. Make absolutely certain (see the other recent thread) that you have the true debug SDK installed. You may need to remove and reinstall the SDK.

You should be getting some output, though I admit to only using those two programs on machines with MSVC installed. The whole idea behind them is that they''re for people who can''t use the MSVC debugger.

--
Simon O''Connor
Creative Asylum Ltd
www.creative-asylum.com
Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site
DSexton
DSexton
Check the registry entry key: \\HKEY_LOCAL_MACHINE\Software\Debug\. Hopefully, you will see your program name. If you do, there will be a property "LogToFile" that you can edit and put a file name that the debug output will go to. I.E., "C:\mydebug.txt". Hopefully you can get some useful info from that.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.