Tôi đã cố tìm kiếm câu hỏi này trực tuyến, nhưng có vẻ như tôi không thể tìm được giải pháp tốt cho vấn đề của mình. Vâng, tôi đang cố gắng sử dụng gdb để gỡ lỗi chương trình C++ của tôi. Và chương trình được tạo thành từ một main.cpp đơn giản và một mô hình.h. Và lệnh biên dịch làLàm thế nào để sử dụng gdb trên c + + tiêu đề tập tin?
g++ -Wall -g -c main.cpp
g++ -Wall -g main.o -o OUTPUT
Vì hầu như tất cả thuật toán được lưu trữ trong mô hình.h, tôi cần gỡ lỗi tệp tiêu đề đó chứ không phải tệp cpp. Tuy nhiên, bất cứ khi nào tôi cố gắng đặt một điểm break vào tiêu đề như
tbreak model.h:163
gdb luôn cho tôi một thông điệp rằng "Không có tập tin nguồn được đặt tên TNFmodel.h".
Trong câu hỏi khác breakpoints in GDB, tôi thấy giải pháp bằng cách thêm thư mục chứa tiêu đề vào thư viện bằng "dir". Nhưng tệp tiêu đề của tôi đã có trong thư mục nguồn và sau khi thử
dir ./
Sự cố vẫn tồn tại.
Vì vậy, bất kỳ ai biết điều gì là sai? Làm thế nào để sử dụng gdb để gỡ lỗi một tập tin tiêu đề?
là tiêu đề cũng được bao gồm từ vị trí đó khi biên dịch? Có lẽ bạn có thể đăng gdb đầu ra cho khi nhập 'nguồn thông tin'. – Nobody
Ouch ... Tôi đã kiểm tra các nguồn, và thấy vấn đề bây giờ ... Trường hợp của một lá thư không phù hợp. Vâng, tôi không biết làm thế nào tôi thông qua biên dịch ... Nhưng có lẽ đó là bởi vì tôi đang sử dụng mac, và đôi khi trường hợp không nhạy cảm khi biên dịch. Sau khi sửa trường hợp, gdb hoạt động tốt cho tiêu đề. Cảm ơn. – Chong