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
What could possibly be the problem cause?
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 ...
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 +=
}
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.
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 ...