2010-09-21 44 views
14

Tôi phát triển và chạy chương trình C++ trong CDT Eclipse trên Linux.cách để lỗi thời gian chạy chương trình cdl eclipse (ví dụ: lỗi phân đoạn)

Vấn đề là Eclipse CDT không hiển thị bất kỳ thông báo lỗi thời gian chạy nào (ví dụ lỗi phân đoạn) trong bảng điều khiển, trong khi tôi có thể nhận được thông báo lỗi khi chạy chương trình trực tiếp bằng dòng lệnh.

+0

Bạn đã thử gỡ lỗi mã của mình chưa? – DumbCoder

+0

có, với chế độ gỡ lỗi, tôi có thể nhận được thông báo lỗi. Tôi chỉ tự hỏi nếu "chạy bình thường" có thể đưa ra các tin nhắn là tốt. – elgcom

+2

Tôi nhớ đã nhận được lỗi "lỗi phân đoạn" trong galileo/ganymede. Tôi không nhận được như vậy sau khi tôi bắt đầu sử dụng nhật thực thường xuyên gần đây. Bây giờ tôi sử dụng bản phát hành, bản phát hành lớn nhất, mới nhất. Giao diện điều khiển chỉ đơn giản là trống. –

Trả lời

8

Xin chào
Bạn có thể thử thay đổi cấu hình chạy như

  • tab này 'chính'> Application = /bin/sh
  • 'Arguments tab'> 'lập luận Chương trình' = -c "Debug/name_of_executable arg0 arg1 ... 2> /dev/stdout"

(thay thế "arg0 arg1 ..." bằng đối số chương trình của bạn, nếu có)
Bàn điều khiển eclipse sẽ xuất ra cả stdout, stderr và s thông báo lỗi egmentation (bắt đầu bằng "/ bin/sh: line 1 ...")
lưu ý: Tôi đã sử dụng giải pháp này trên bản phát hành nhật thực cũ hơn mà các triệu chứng giống nhau.

+0

Đây là giải pháp cho vấn đề ban đầu nhưng lưu ý rằng bạn không thể gỡ lỗi chương trình của mình với cấu hình chạy như vậy (vì nhật thực sẽ nghĩ chương trình bạn muốn gỡ lỗi là sh, điểm ngắt trong mã của bạn sẽ không kích hoạt) –

1

Tôi khuyên bạn nên sử dụng trình gỡ lỗi thay vì chỉ chạy tệp thực thi!

Tôi đã gặp vấn đề tương tự khi cố nhập một giải pháp C++ hiện có vào CDT. Tôi thấy nó hơi lạ khi Eclipse không báo cáo bất cứ điều gì trong trường hợp lỗi phân đoạn. Nếu bạn sử dụng trình gỡ lỗi, nó sẽ thông báo cho bạn về các lỗi phân đoạn và chỉ cho bạn vị trí chính xác trong mã.

Các vấn đề liên quan