[英]How to see actual value of a C++ string in CLion's debugger?
使用 gdb,您可以通过以下 2 种方法打印 std::string。
你可以试试。 在您的项目中打开CMakeLists.txt并找到以下行。
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O3")
or
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -O3")
现在,如下更改:
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O0")
or
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -O0")
只需为所需的std::string
表达式添加监视并编辑监视以附加.c_str()
( F2可以正常工作)。
例如,为了检查my_cpp_str
变量,添加以下手表:
my_cpp_str.c_str()
这似乎是 LLDB 的一个错误。 您可以检查此问题: https ://youtrack.jetbrains.com/issue/CPP-13701
我试过 GDB,效果很好,所以你可以切换到 GDB 工具链来避免这个问题。
但是2021年,如果非要使用LLDB,可以使用变量std::string mystr;
p *(char**) &mystr
*(char**) &mystr
到 CLion-2021 调试器的观察程序窗口中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.