1. ホーム
  2. c++

[解決済み] Linux上のgdbでCまたはC++のコードにプログラム的にブレークポイントを設定する

2022-08-06 02:46:14

質問

Linux の gdb で動作するように、C または C++ コードにプログラム的にブレークポイントを設定するにはどうすればよいですか?

すなわち。

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

どのように解決するのですか?

1つの方法は、割り込み信号を出すことです。

#include <csignal>

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

C言語では

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

アップデイト : MSDN の状態 をサポートしていないことを述べています。 SIGINT をサポートしていないので、もし移植性を重視するなら、おそらく SIGABRT .