2016-12-01 57 views
1

我想知道字符串是如何工作的,所以我在basic_string.h中添加了斷點。 但是當我調試時它並沒有進入這些斷點。Clion debug:如何進入STL

當我在調試時添加斷點時,GDB控制檯顯示: 文件「C:/Users/manch/Downloads/MinGW/lib/gcc/mingw32/4.8.1/include/C++/bits」中沒有行1008 /basic_string.h」。

enter image description here

這是我的測試代碼

#include <iostream> 
#include <string> 

int main() { 
    std::string *ps = new std::string("hello"); 
    ps->append(" world"); 
    return 0; 
} 

和的CMakeLists.txt

cmake_minimum_required(VERSION 3.6) 
project(Stl) 

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

set(SOURCE_FILES main.cpp test.cpp C:/Users/manch/Downloads/MinGW/lib/gcc/mingw32/4.8.1/include/c++/bits/stl_construct_copy.h) 
add_executable(Stl ${SOURCE_FILES}) 

回答

0

您還需要有源文件libstdc++標準C++庫MinGW的鏈接您的可執行文件。然後,根據this的問題,您需要在編譯時添加-D_GLIBCXX_DEBUG標誌,以便連接具有調試信息的庫。