Macos – Unknown ending signal when using debugger gdb

cgdbmacos

I have installed GDB on Mac OS X and to test that it works I have used this following C program.

#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;

}

I have an error when compiling it, which is normal (segmentation fault)

However, when adding the -g flag in the compiling command and running gdb on my compiled program, I have this message after launching the command run

During startup program terminated with signal ?, Unknown signal.

Really don't know where it comes from. I have added a certificate to ensure that gdb works correctly on OS X but I have found nothing to fix this issue.

Best Answer

From this answer: https://stackoverflow.com/a/40437725/1060955

This is how I easily fixed the issue. [Update: based on feedback received and yet to be verified, it seems that this solution works with macOS Sierra 10.12 but not with macOS Sierra 10.12.2]

See video instructions here

Quit gdb

Using your text editor e.g. Sublime Text, save a file called “.gdbinit” [Exclude the quotation marks] in your user folder.

In the file add the following: “set startup-with-shell off” [Exclude the quotation marks]

Save the file

gdb should now work

Sources

https://stackoverflow.com/a/40437725/1060955

https://discussions.apple.com/thread/7684629?start=0&tstart=0

Where is .gdbinit is located and how can I edit it?

https://sourceware.org/gdb/onlinedocs/gdb/Starting.html

Related Topic