Это в VS2022 с SDK 10.0, набором инструментов v143 и языком C++ последней версии. Отладочная сборка с запуском отладчика.
Код: Выделить всё
OutputDebugString( "Setting x to y...\n" );
auto x = std::format( "Setting x to y level {}\n", ( int )level );
OutputDebugString( std::format( "Setting x to y level to {}\n", ( int )level ).c_str() );
Я хочу понять, почему это происходит и как я могу отладить его дальше. Я завернул его в try/catch (catch предназначен для std::Exception), но исключение не было перехвачено. Я думаю, это считается необработанным, и VS просто останавливается в этой точке файла debug_heap. В командном окне отображается сообщение «HEAP[TestProgram.exe]: для RtlValidateHeap (00650000, 18B9B0A0) указан неверный адрес».
Как устранить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/798 ... i-debug-it
Мобильная версия