How can I set a breakpoint in C or C++ code programatically that will work for gdb on Linux?
I.e.:
int main(int argc, char** argv)
{
/* set breakpoint here! */
int a = 3;
a++; /* In gdb> print a; expect result to be 3 */
return 0;
}
One way is to signal an interrupt:
#include <csignal>
// Generate an interrupt
std::raise(SIGINT);
In C:
#include <signal.h>
raise(SIGINT);
UPDATE: MSDN states that Windows doesn't really support SIGINT
, so if portability is a concern, you're probably better off using SIGABRT
.