如何在CLion的调试器中查看C ++字符串的实际值?

时间:2017-02-10 13:50:43

标签: c++ linux debugging clion

我在Linux上使用CLion并且在调试时遇到了困难。我评估了一个最终成为字符串的表达式,但是调试器在向我显示返回值时没有用,除了它是一个字符串。我如何看到实际价值? (还要注意它甚至没有显示char值的值)

screenshot

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

只需为所需的 df = pd.read_excel('FileA.xlsx', sheet_name = 'sheetc') 表达式添加监视并编辑监视以附加 std::stringF2 可以正常工作)。

例如要检查 .c_str() 变量,请添加以下监视:

my_cpp_str

答案 2 :(得分:-1)

您可以尝试。 在您的项目中打开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")