1. ホーム
  2. c

[解決済み】デバッガgdbの使用時に不明な終了シグナルが発生する。

2022-01-25 20:52:17

質問

Mac OS XにGDBをインストールし、動作確認のため、以下のCプログラムを使用しました。

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {

    int *my_array = (int *) malloc(5 * sizeof(int));
    int i;
    for (i = 0; i < 1000000; i++) {
        my_array[i] = i;
    }

    free(my_array);

    return 0;

}

コンパイル時にエラーが出るのですが、これは正常です(セグメンテーションフォールト)

しかし gフラグの追加 でコンパイルし、コンパイルしたプログラムに対して gdb を実行すると、 コマンドを起動した後に次のようなメッセージが表示されます。 実行

During startup program terminated with signal ?, Unknown signal.

本当にどこから来るのかわからない。OS X上でgdbが正しく動作するように証明書を追加しましたが、この問題を解決するものは見つかりませんでした。

解決するには?

Sierraであれば、それは想定内です。 GDBはmacOS Sierraと互換性がありません、最後のリリース(7.12)であっても。

このバグを修正するためには、GDBの別のリリースを待つか、macOSの別のアップデートを待つべきかもしれません。