2013-08-12 47 views
8

Tôi có một tệp gọi là kiểm tra. Ngay cả sau khi biên dịch nó với -g, khi tôi chạy nó trong gdb, nó nói rằng không tìm thấy các biểu tượng gỡ rối. Tôi cũng đã thử sử dụng -ggdb nhưng nó cũng không được sử dụng. Hãy giúp tôi.gdb: (không tìm thấy các biểu tượng gỡ lỗi)

Output for : gdb test 

This GDB was configured as "x86_64-linux-gnu". 
For bug reporting instructions, please see: 
<http://www.gnu.org/software/gdb/bugs/>... 
Reading symbols from /usr/bin/test...(no debugging symbols found)...done. 

Trả lời

7

Vấn đề là bạn đang cố gắng để gỡ lỗi chương trình sai.

Chương trình của bạn được gọi là test và bạn đang gỡ lỗi /usr/bin/test (một chương trình hệ thống gần như chắc chắn sẽ được gửi mà không có biểu tượng, ngay cả khi nó có chứa ký hiệu, chúng sẽ không liên quan đến mã nguồn của bạn).

gdb sẽ tìm kiếm $PATH để tìm tệp thực thi. Từ here:

exec-file [filename] Chỉ định rằng chương trình được chạy (nhưng không phải là bảng biểu tượng) được tìm thấy trong tên tập tin. gdb tìm kiếm môi trường biến PATH nếu cần thiết để định vị chương trình của bạn. Omitting filename có nghĩa là loại bỏ thông tin trên tập tin thực thi.

Hãy thử sử dụng lệnh:

$ gdb ./test 
+0

Nó chỉ đơn giản là không tìm thấy tập tin hoặc thư mục được tìm thấy. Tôi đã làm theo một hướng dẫn trên web trên gdb và đó là nơi họ yêu cầu sử dụng kiểm tra gdb nếu tên chương trình là test.cpp – psyc0der

+0

Và tệp './Test' tồn tại? – trojanfoe

+0

Tôi tin rằng ./test là một cách để thực thi test.out. Và tôi đã biên dịch test.cpp với đầu ra trong test.out – psyc0der

0

Kiểm tra thực thi được không lột, bạn có thể thấy rằng với file /usr/bin/test

+0

Tệp thi hành/usr/bin/test trong gdb cung cấp cho tôi cùng một kết quả. Đọc các biểu tượng từ /usr/bin/test... (không tìm thấy các biểu tượng gỡ lỗi) ... đã hoàn tất. – psyc0der

+0

bạn có thể đăng kết quả của 'tệp/usr/bin/test' không? – Mali

+0

'Đọc các biểu tượng từ /usr/bin/test... (không tìm thấy các biểu tượng gỡ lỗi) ... done.' – psyc0der

1

Di a.out và sau đó thử lại. Nó làm việc cho tôi vì tôi cũng nhận được cùng một lỗi.

rm a.out 
gcc -g your_code.c