Eclipse/MinGW/CDT/GDB以及调试问题

mic*_*kov 10 c++ eclipse gdb mingw eclipse-cdt

我有一些C++代码并尝试调试它.main.cpp中:

#include <iostream>
using namespace std;

int main() {
    graph<int> a;
    a.add(1);
    a.addEdge(1,2);
    std::vector<int> answ = a.getAdjacent(1);
    for (unsigned int i = 0; i < answ.size(); i++)
    std::cout<<answ[i]<<std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在"图a;"上有一个断点.但是当我开始调试时,我得到:

The target endianness is set automatically (currently little endian)
No source file named C:\Users\home\workspace\graphcpp\main.cpp.
[New Thread 3552.0xdc8]
Run Code Online (Sandbox Code Playgroud)

有什么问题?

gre*_*olf 12

当使用eclipse + cdt和gdb时,这似乎是一个相对频繁的重复出现的问题.从GDB(DSF)创建流程标准创建流程更改默认启动器似乎在大多数时间解决了这个问题.

您可以在Preferences-> Run/Debug-> Launching-> Default Launchers下找到此选项:

默认启动器

还要确保在编译时-g启用调试信息.

  • 我没有标准创建流程; 只是第一个显示的选项和Legacy Create Process. (4认同)
  • 标准被重命名为遗产.https://bugs.eclipse.org/bugs/show_bug.cgi?id=426586 (3认同)