debug 模式崩溃,CDB 进程终止,但 release 模式没问题

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

我的应用程序在 Release 模式下构建并且 运行 正常。但是,在 Debug 模式下,我的应用程序崩溃了。当尝试使用调试器查明崩溃原因时,收到这样的错误:

Qt Creator unexpected CDB exit The CDB process terminated

问题的可能原因是什么?

更新

我在 Debug 模式下构建并部署了应用程序,然后尝试通过如下命令 运行 可执行文件:

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

我收到了这条消息:

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

由于某些原因,在Release模式下可以找到tbb.dll,但在debug下找不到tbb_debug.dll ] 模式。尽管所有 TBB DLL 都在同一个目录中。不知道为什么...

更新

我正在使用 QMake 将 TBB 添加到我的项目中,如下所示:

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 +=
}

问题已通过手动复制 TBB DLL 到应用程序可执行文件旁边得到解决。

... /tbb-2020.3-win/tbb/bin/intel64/vc14/*.dll 复制到可执行位置。

发布模式为何有效

我认为某些第 3 方应用程序已经将 tbb.dll 添加到可能的 PATH 环境变量中。但是 tbb_debug.dll 而不是 被任何应用程序添加到 PATH 中。只是猜测...