我正在使用 vcpkg 开发一个 CMake C++ 项目。
它找到它的标题并正确链接。 但是,我没有调试符号(这意味着我无法检查 XAudio2 中的堆栈跟踪!) 并且我没有收到任何调试输出。
我这样创建我的引擎:
UINT flags = XAUDIO2_DEBUG_ENGINE;
if(FAILED(XAudio2Create(&sound_engine, flags, XAUDIO2_DEFAULT_PROCESSOR))) {
log_error("Could not create audio engine");
throw error_code::audio_initialization_failure;
}
XAUDIO2_DEBUG_CONFIGURATION config{
.TraceMask = XAUDIO2_LOG_WARNINGS | XAUDIO2_LOG_ERRORS | XAUDIO2_LOG_DETAIL | XAUDIO2_LOG_API_CALLS |
XAUDIO2_LOG_TIMING |
XAUDIO2_LOG_MEMORY,
.BreakMask = 0,
.LogThreadID = true,
.LogFileline = true,
.LogFunctionName = true,
.LogTiming = true
};
sound_engine->SetDebugConfiguration(&config);
在创建 Source Voice 期间,我在 Visual Studio 输出中收到以下内容:
A breakpoint instruction (__debugbreak() statement or a similar call) was executed [...]
我应该如何调试它?
编辑: 所有其他链接库具有调试符号并正确加载我尝试将pdb放入与工作目录相同的目录但VS拒绝实际加载它。