一尘不染

在Linux上以编程方式在C或C ++代码中为gdb设置断点

linux

如何在C或C ++代码中以编程方式设置一个断点,该断点将在Linux上适用于gdb?

即:

int main(int argc, char** argv)
{
    /* set breakpoint here! */
    int a = 3;
    a++;  /*  In gdb> print a;  expect result to be 3 */
    return 0;
}

阅读 374

收藏
2020-06-02

共1个答案

一尘不染

一种方法是发出中断信号:

#include <csignal>

// Generate an interrupt
std::raise(SIGINT);

在C中:

#include <signal.h>
raise(SIGINT);

更新MSDN指出
Windows并不真正支持SIGINT,因此,如果考虑到可移植性,最好使用SIGABRT

2020-06-02