Używam gdb do debugowania kodu źródłowego projektu C. Kompiluję, jak pokazano:Brak pliku źródłowego o nazwie main.c. Ustawienie punktu przerwania gdb
./configure --enable-debug CFLAGS="-g -o0"
make --debug=a
Chcę debugowania zatrzymać w określonym pliku. Więc kiedy ustawić punkt przerwania używając
(gdb) break main.c:672
Mówi:
No source file named main.c.
Nawet kiedy przechodzą specyficzną nazwę funkcji (w pliku main.c) do złamania. mówi: taka funkcja nie jest zdefiniowana.
Mój aktualny katalog zawiera plik main.c. Używam Cygwin w systemie Windows. Po ustawieniu punktu przerwania za pomocą tej opcji należy ustawić punkt przerwania w głównej funkcji pliku Cygwin, a nie w moim kodzie źródłowym.
Jak mogę naprawić mój pierwszy problem?
Po prostu ciekawy, jak uniknąć drugiego problemu, jeśli jest taka sama nazwa funkcji w plikach Cygwin i mój kod źródłowy?
Czytanie symboli z .libs/slim ... done.pokazał tę wiadomość, myślę, że ładowanie symboli jest w porządku. – arslan
możesz opublikować migawkę całego problemu, czyli jak kompilujesz –
Dodałem informację o kompilacji, przejrzyj – arslan