在使用GDB添加和删除代码块中的断点时,为什么会抛出SIGTRAP和SIGILL?

在使用GDB添加和删除代码块中的断点时,为什么会抛出SIGTRAP和SIGILL?,gdb,codeblocks,gnu-toolchain,Gdb,Codeblocks,Gnu Toolchain,我正在使用与MingGW捆绑的代码块17.12:gdb7.11.1、mingw32-gcc 5.1.0和mingw32-g++5.1.0 当程序运行时设置断点时,我得到一个SIGTRAP信号。我能够继续通过断点并多次命中它。当我删除断点时,程序仍然会在带有SIGTRAP的同一行上停止。在下一次继续时,它会随着一个信号停止,我无法继续 断点设置在第9行,该行为: #include <iostream> using namespace std; int main() { fo

我正在使用与MingGW捆绑的代码块17.12:gdb7.11.1、mingw32-gcc 5.1.0和mingw32-g++5.1.0

当程序运行时设置断点时,我得到一个SIGTRAP信号。我能够继续通过断点并多次命中它。当我删除断点时,程序仍然会在带有SIGTRAP的同一行上停止。在下一次继续时,它会随着一个信号停止,我无法继续

断点设置在第9行,该行为:

#include <iostream>

using namespace std;

int main()
{
    for(int i = 0; i < 65000; i++)
    {
        cout << "Hello world!" << endl;
    }
    return 0;
}
#包括
使用名称空间std;
int main()
{
对于(int i=0;i<65000;i++)
{

cout我通过指向代码块来使用它与at捆绑在一起的MinGW安装,解决了这个问题

C:\Program Files (x86)\CodeBlocks\MinGW 
而不是我的安装在

C:\MinGW
C:\MinGW