2012-01-13 12 views
7

Trên Linux, tôi đang cố gắng gỡ lỗi ứng dụng C++ với gdb trong CDT Eclipse.Trên Linux, Gỡ lỗi một ứng dụng C++ với gdb trong CDT Eclipse, cách nhập một thứ gì đó vào stdin?

Ví dụ ứng dụng applic.exe mất một đối số dòng lệnh arg1arg2 và dự kiến ​​một số dữ liệu trên stdin (nói, lấy từ một tập tin input.txt).

Thông thường, để chạy các ứng dụng trong giao diện điều khiển tôi sẽ làm điều này:

cat input.txt | applic.exe arg1 arg2 

Sử dụng gdb trong giao diện điều khiển tôi có thể làm:

gdb applic.exe 
(gdb) run applic.exe arg1 arg2 < input.txt 

Có thể làm điều đó với gdb trong Eclipse? Tôi biết cách chỉ định các đối số (và môi trường) trong Eclipse Cấu hình gỡ lỗi, nhưng còn khoảng stdin thì sao?

+0

Tôi không chắc chắn nếu điều đó có thể được thực hiện, trong cấu hình chạy có một tùy chọn để xác định một tập tin đầu ra, nhưng đối với đầu vào nó nói rằng nó cần phải có một giao diện điều khiển kèm theo. – fortran

Trả lời

2

Có tab Console trong Eclipse (ở dưới cùng của IDE), bạn có thể đặt dữ liệu của mình tại đây.

+1

Đảm bảo bạn chọn bảng điều khiển gdb từ bảng điều khiển có sẵn. – Grammin

+0

Tôi nghĩ rằng các op là yêu cầu một cách tự động làm điều đó, không sao chép và dán mọi thời gian (nó có thể là một tập tin đầu vào rất lớn!) – fortran

+1

Thực sự đó là câu hỏi của tôi. – user1069609

0

Thay vì nhập chuyển hướng trong tab đối số, hãy thêm nó vào tên tệp thi hành trong cấu hình gỡ lỗi.

+1

Ví dụ về mã sẽ tốt đẹp;) – RedEyedMonster