Das Problem ist, dass Sie versuchen, das falsche Programm zu debuggen.
Ihr Programm heißt test
und dennoch debuggen Sie /usr/bin/test
(ein Systemprogramm, das mit ziemlicher Sicherheit ohne Symbole ausgeliefert wird; selbst wenn es Symbole enthielt, würden sie sich nicht auf Ihren Quellcode beziehen).
gdb
sucht $PATH
, um die ausführbare Datei zu finden. Von hier :
exec-file [Dateiname] Geben Sie an, dass das Programm ausgeführt werden soll (aber nicht das Symboltabelle) wird im Dateinamen gefunden. gdb durchsucht die Umgebung Variable PATH, wenn nötig, um Ihr Programm zu lokalisieren. Dateinamen auslassen bedeutet, Informationen über die ausführbare Datei zu verwerfen.
Versuchen Sie es mit dem folgenden Befehl:
%Vor% Entfernen Sie a.out
und versuchen Sie es erneut. Es funktionierte für mich, da ich auch den gleichen Fehler bekam.