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.
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
If you're on Sierra , that's expected. GDB isn't compatible with macOS Sierra , even the last release (7.12).
We should maybe wait for another release of GDB , or for another update for macOS in order to get the bug fixed.
I installed gdb via Homebrew. At the end of the installation it says:
On 10.12 (Sierra) or later with SIP, you need to run this:
echo "set startup-with-shell off" >> ~/.gdbinit
This was necessary to make it work. Also I had to make sure the .gdbinit
was set in the Eclipse Debug configuration
For me it worked perfectly on MacOS Sierra Version 10.12.4 by just uninstalling and installing gdb as,
$ brew uninstall gdb
$ brew install gdb
This will install latest gdb which is compatible with MacOS Sierra.
Hope this help to anyone!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With