2010-04-06 37 views
9

Trong Visual Studio 2008, tôi có thể chỉ định một thông báo được in khi điểm ngắt được nhấn (bằng cách bấm chuột phải vào điểm ngắt và chọn 'Khi nhấn ...'). Khi chương trình được chạy, những thông báo này xuất hiện trong Cửa sổ đầu ra. Tôi muốn biết, có cách nào để chuyển hướng chúng đến một tệp không?Làm thế nào để chuyển hướng đầu ra từ trình gỡ rối Visual Studio?

Chỉ định >file.txt làm đối số lệnh cho chương trình không hoạt động: điều này chuyển hướng đầu ra của chương trình, chứ không phải của trình gỡ lỗi.

(FWIW hành vi tôi muốn đạt được là để có được những debugger để liên tục in giá trị của một biến vào một tập tin, chứ không phải là peppering mã của tôi với báo cáo printf/cout.)

Trả lời

4

Dưới Windows 2000, XP, Server 2003 và Vista DebugView sẽ chụp:

  • Win32 OutputDebugString
  • Kernel-mode DbgPrint
  • Tất cả các phiên bản kernel-mode của DbgPrint thực hiện trong Windows XP và Server 2003

DebugView cho phép bạn lọc đầu ra, thêm dấu thời gian và đăng nhập vào tệp.

Bắt là, bạn cần phải chạy mà không cần gắn vào trình gỡ rối, để DbgView thu được đầu ra. (Sử dụng tổ hợp phím Ctrl + F5)

+1

điểm trong không sử dụng Debugger nếu đầu ra được tạo ra bởi các breakpoint là gì? – Karsten

+1

khi bạn đang gỡ lỗi các ứng dụng nhạy cảm với thời gian và hành động tạm dừng ứng dụng sẽ thay đổi trạng thái của ứng dụng trong tương lai. – Carl

+0

đó không phải là ý tôi. Câu hỏi đặt ra là cách đầu ra của trình gỡ rối có thể được chuyển hướng để ghi lại văn bản mà một điểm ngắt tạo ra cho một tệp tin.Nếu trình gỡ rối không thể sử dụng được, thì không có điểm ngắt nào tạo ra văn bản. – Karsten

0

Tôi không biết một cách để ghi nội dung cửa sổ đầu ra vào một tệp ngắn bằng cách viết một plugin VS, nhưng bạn có thể đánh dấu văn bản trong cửa sổ đầu ra và sao chép nó vào khay nhớ tạm, sau đó dán nó vào một tệp văn bản.

13
  1. Đặt tùy chọn Chuyển tất cả văn bản Output Window to the ngay Window. Chúng tôi tìm thấy nó trong Công cụTùy chọnGỡ lỗiChung (thứ năm đến mục cuối cùng).

  2. Mở Ngay lập tức cửa sổ: Ctrl + Alt + tôi hay gỡ lỗicủa Windowsngay Window

  3. Nhập lệnh như sau trong cửa sổ ngay:

    > Tools.LogCommandWindowOutput /on C:\mylogfile.txt 
    
  4. Để ngăn chặn bằng văn bản cho tập tin, nhập lệnh sau trong cửa sổ Immediate:

    > Tools.LogCommandWindowOutput /off 
    
+0

Bí quyết tuyệt vời! –

+0

Cảm ơn, nhưng sau khi dán lệnh '/ on' của bạn vào Cửa sổ ngay lập tức, tôi nhận được' Biểu thức không thể được đánh giá trong khi ở chế độ thiết kế.' Bất kỳ ý tưởng nào? –

+1

Trong cửa sổ ngay lập tức, các lệnh phải được bắt đầu bằng ">" (khác, nó được đánh giá là một biểu thức trong ngữ cảnh của quá trình gỡ rối, thay vì lệnh của Visual Studio) – Ramkumar

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