Note: Forums will be making significant UX changes to address key usability improvements surrounding search, discoverability and navigation. To learn more about these changes please visit the announcement which can be found HERE.
Can I use directX debug layer runtime in an application built in release mode?

Proposed Can I use directX debug layer runtime in an application built in release mode?

  • Wednesday, January 30, 2013 2:28 AM
     
     

    The normal code is like:

    #if defined(_DEBUG)

        createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;

    #endif

    Since we want to debug some issues in our release version app, we still enable it in release build. Seems we get some crash now(but no crash in debug build and run), is there any limitation to use debug layer runtime in a release built app?

    Thanks,
    Tango

All Replies

  • Wednesday, January 30, 2013 10:53 PM
     
     Proposed

    You can use this flag in a "Release" build (I.e. an optimized build) on a developer or test machine. Likely your crash is related to some aspect of your app that changes when optimized, so look for a bug in your app such as an uninitialized variable.

    Keep in mind the SDK Debug Layer is not present on end-user machines, so D3D11_CREATE_DEVICE_DEBUG will always fail. This is only an option for developer systems and test systems when the Windows 8.0 SDK is installed on the machine (it's included with VS 2012).


  • Thursday, January 31, 2013 4:13 AM
     
     

    Thanks!

    Still suspect the crash issue may due to MSVC17.x, since the code is perfect in MSVC16.x.

    And if we disable such debug layer runtime in release mode, the result is just as expected.

    Best regards,

    Tango