C++ 如何查看C+的实际值+;CLion中的字符串';调试器是什么?

C++ 如何查看C+的实际值+;CLion中的字符串';调试器是什么?,c++,debugging,clion,watch,C++,Debugging,Clion,Watch,我在Linux上使用CLion,调试有困难。我计算了一个最终成为字符串的表达式,但调试器在显示返回值时毫无用处,除了它是字符串之外。我如何看待实际值?(还要注意,它甚至不显示char值的值) 使用gdb,您可以通过以下两种方法打印std::string p mystr.c_str()-可用于打印std::string类型的值 p*(char**)0x7f8fbb7a9c20-这适用于std::string类型的内存 只需为所需的std::string表达式添加一个watch,然后编辑watch以

我在Linux上使用CLion,调试有困难。我计算了一个最终成为字符串的表达式,但调试器在显示返回值时毫无用处,除了它是字符串之外。我如何看待实际值?(还要注意,它甚至不显示
char
值的值)


使用gdb,您可以通过以下两种方法打印std::string

  • p mystr.c_str()-可用于打印std::string类型的值
  • p*(char**)0x7f8fbb7a9c20-这适用于std::string类型的内存

  • 只需为所需的
    std::string
    表达式添加一个watch,然后编辑watch以附加
    .c_str()
    (F2可以很好地用于此)

    例如,要检查
    my\u cpp\u str
    变量,请添加以下手表:


    <代码> MyPipp.Pr.STR.CyScript(<代码> > /P>请检查在设置->构建、执行、部署>调试程序中启用GNU C++值渲染器选项。@ ELDARABUS ALIMIMOV我已经启用了,但是我得到的是随机十六进制值,而不是实际值。@ ISMelSunNi可以检查在(代码> Addio定义中建议的解决方案吗?(-D_GLIBCXX_USE_cx11_ABI=0))?有帮助吗?我知道一个老问题,但请参考这里。现在是2020年,我们必须在调试器中打印std::string值:
    p*(char**)0x7f8fbb7a9c20
    。。。