C++调试窗口显示"<不完整类型>的字符串变量

Log*_*gan 6 c++ debugging incomplete-type c++11 clion

据我所知,我正在以相当正常的方式初始化字符串,当我调试时,我的IDE(CLion)中的变量窗口显示其值为<incomplete type>.我有一些简单的代码导致字符串变量的问题Bob.

#include <iostream>

int main() {
    std::string Bob = "this doesn't show up in the variables window";
    std::cout << Bob << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不知道它有什么影响,但我会包含看似最简单的CMakeLists文件.

cmake_minimum_required(VERSION 3.8)
project(testing123)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11"}

set(SOURCE_FILES main.cpp)
add_executable(testing123 ${SOURCE_FILES})

set(CMAKE_CXX_COMPILER "/cygdrive/c/cygwin64/bin/clang++")
set(CMAKE_C_COMPILER "/cygdrive/c/cygwin64/bin/clang++")
Run Code Online (Sandbox Code Playgroud)

我查看了其他问题,他们都与我看不到直接相关的类和指针有关,所以如果他们应该为此负责,我会理解这是怎么回事.

eme*_*ood 10

您可能需要使用设置调试模式._GLIBCXX_DEBUG

您可以使用以下行在CMakeLists.txt文件中执行此操作:

set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG")