2012-04-19 23 views
14

Có cách nào để bắt stdout và stderr trong Visual Studio không? Ví dụ: khi tôi sử dụngCó cách nào để bắt stderr và stdout trong Visual Studio không?

cout <<"Hello world!"<< endl; 

Cửa sổ màu đen xuất hiện và biến mất. Nó quá nhanh đến mức tôi không thể nhìn thấy nó. Có một phần đầu ra trong IDE nhưng nó chỉ cho phép tôi chọn đầu ra hiển thị từ xây dựng và cái gì khác nhưng không có sự lựa chọn của stdout.

Một giải pháp gian lận có thể gọi

system("pause"); 

nhưng nó không phải âm thanh. Tôi tìm kiếm trong các tùy chọn nhưng tôi không thể tìm thấy một mục.

Bất kỳ ai cũng có ý tưởng gì? Cảm ơn. Tôi mới bắt đầu sử dụng VS và tôi đang sử dụng Linux trước đây.

+0

Hãy xem các câu trả lời tại đây: http://stackoverflow.com/questions/1343320/when-debugging-on-windows-where-does-stderr-go –

Trả lời

4

Thay vì sử dụng lệnh "Bắt đầu gỡ lỗi", nếu bạn muốn kiểm tra đầu ra, hãy sử dụng "Bắt đầu không gỡ lỗi". Đó là cách tôi xử lý nó. Cửa sổ nhắc lệnh sẽ vẫn còn cho đến khi bạn đóng nó lại. Nếu có sự cố hoặc một thứ gì đó, bạn luôn có thể gắn lại Visual Studio với quy trình hoặc chỉ chạy nó bằng "Bắt đầu gỡ lỗi".

1

Nếu không thực sự cố gắng để chuyển hướng dòng stdin/err, có một số lựa chọn thay thế, bạn có thể thử:

  • Mở một cửa sổ nhắc lệnh và cd vào thư mục thực thi của bạn sẽ được tạo trong sau đó chạy nó từ đó .
  • Có thể thử sử dụng một cái gì đó như std :: cin.get(); hoặc std :: cin.ignore (std :: cin.rdbuf() -> in_avail() + 1); thay vì hệ thống ("tạm dừng").
  • hiển thị đầu ra trong trình gỡ lỗi visual studio qua OutputDebugString
+0

Không có cách nào nghe có vẻ tốt nhưng vẫn cảm ơn. Đó không phải lỗi của bạn. Các bạn có cảm thấy bất tiện về vấn đề này không? Chỉ tò mò thôi. – YankeeWhiskey

+0

Thay đổi bảng con thành bảng điều khiển như tôi đã chỉ ra trong câu trả lời của tôi. – Iceman

+0

Tôi biết có một người tôi đã mất tích, nhận xét của Icemans đã chính xác. – thelazydeveloper

4

Đi tới Dự án Properties -> Linker -> System -> Thay đổi hệ thống con để Console.

+0

Tôi đã thay đổi điều đó nhưng cửa sổ đen vẫn bật lên. Tôi giả sử để xem đầu ra trong VS ở đâu? – YankeeWhiskey

+3

Đầu ra sẽ nằm trong bảng điều khiển bật lên. Nó sẽ không biến mất nếu bạn vào Debug -> Start without Debugging. – Iceman

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