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

如何在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;
}
最佳答案
一种方法是发出中断信号:

#include <csignal>

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

在C:

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

更新:MSDN states Windows不真正支持SIGINT,所以如果可移植性是一个问题,你可能更好地使用SIGABRT。

转载注明原文:在Linux上为gdb以编程方式在C或C代码中设置断点 - 代码日志