BC does not seem to pop up on my errors in my DirectX code

0 Likes

Problem:

On DirectDraw Applications BoundsChecker doesn't pop up a messagebox when it has found a bug, it only logs the problem. It is not very easy to use this information because there's no chance to debug this error at the point of time it has occured. This behaviour might be intended for FULL SCREEN DirectDraw apps, but it is not necessary for windowed apps since in this scenario there's no problem using dialogs or message boxes etc. Probably you should detect whether the application is in full screen mode or not. If not, you can pop up with the error. (There still might be a problem with the infamous WIN16MUTEX, but this problem does not exist with Windows NT )Is there another reason why BoundsChecker sometimes only logs errors instead of interrupting the program even if it was instructed to halt on errors?

Resolution:

We explicitly hook the DirectDrawCreate()  call and turn off the popup when we encounter this call. In previous version we tried to allow the popup event to occur normally but since DirectX (-Draw) siezes control of all video memory this sometimes led to strange results and at worst crashes in the video driver(s). In the future we may add an API call to enable or disable the popups around this call (which could be added in an #ifdef _DEBUG block for instance) but for the present time this is the expected behavior of the application under these circumstances.

Old KB# 12245
Comment List
Anonymous
Related Discussions
Recommended