J'ai construit GDB à partir des sources sous MacOS 12.0 et l'ai signé. Cependant, chaque fois que j'essaie de déboguer un programme, j'obtiens ceci :
(gdb) b main
Breakpoint 1 at 0x10000324f: file main.cpp, line 50.
(gdb) run
Starting program: /Users/fluzzlesnuff/Documents/C++/a.out
[New Thread 0x2a03 of process 2389]
et ensuite GDB se bloque. J'ai compilé des programmes C++ avec g++. Voici ce que j'ai essayé :
- Compiler avec l'option -g.
- Compiler avec l'option -ggdb.
- Compiler avec l'option -ggdb3.
- Exécuter avec
sudo
- Tuer et relancer gdb à plusieurs reprises.
- Essayez différents binaires.
- Désactiver SIP
- Ajouter des points d'arrêt supplémentaires.
-
set startup-with-shell off
en.gdbinit
Je le fais. pas obtenir les erreurs de taskgated / Mach Port ; seulement le message New Thread.
Je réalise que c'est une quasi-duplication de ce mais je n'ai pas vu de réponse fonctionnelle à cette question.
Pour référence, voici mes versions :
$ g++ --version
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin21.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
$ gdb --version
GNU gdb (GDB) 10.2