qtqt-creatorrelease-modedebug-mode

Crash in debug mode along with CDB process termination, but release mode is fine


My application builds and runs fine in Release mode. However, in Debug mode, my application crashes. When trying to use debugger to pinpoint the crash cause, such error is received:

Qt Creator unexpected CDB exit The CDB process terminated

Error screenshot

What could possibly be the problem cause?

UPDATE

I built and deployed the application in Debug mode and then tried to run the executable by command like:

C:\Users\m3\Documents\deployment_folder>.\application.exe

and I received this message:

The code execution cannot be proceed because tbb_debug.dll was not found. Reinstalling the program may fix this problem.

For some reason, tbb.dll can be found in Release mode but tbb_debug.dll cannot be found in debug mode. Although all TBB DLLs are in the same directory. Not sure why ...

Screenshot

UPDATE

I'm adding TBB to my project with QMake like this:

INCLUDEPATH += deps/tbb-2020.3-win/tbb/include

# Looks like absolute path works for LIBS, but NOT relative path
win32: CONFIG (release, debug|release): {
    LIBS += -LC:\Users\m3\repos\myapp\deps\tbb-2020.3-win\tbb\lib\intel64\vc14 \
            -ltbb \
            -ltbb_preview \
            -ltbbbind \
            -ltbbmalloc \
            -ltbbmalloc_proxy \
            -ltbbproxy
} else: win32: CONFIG (debug, debug|release): {
    LIBS += -LC:\Users\m3\repos\myapp\deps\tbb-2020.3-win\tbb\lib\intel64\vc14 \
            -ltbb_debug \
            -ltbb_preview_debug \
            -ltbbbind_debug \
            -ltbbmalloc_debug \
            -ltbbmalloc_proxy_debug \
            -ltbbproxy_debug
} else: unix: { # Linux and mac
    # TODO: add correct path to LIBS +=
}

Solution

  • The problem is resolved by manually copying TBB DLLs next to the application executable.

    Copy from ... /tbb-2020.3-win/tbb/bin/intel64/vc14/*.dll to executable location.

    On why release mode worked

    I think some 3rd party application has already added tbb.dll to may PATH environment variable. But tbb_debug.dll is not added to PATH by any application. Just a guess ...