2009-05-07 72 views
5

Trong một thời gian bây giờ khi tôi gỡ lỗi ứng dụng Visual C++ và xem bất kỳ biến CString hoặc char * (hoặc bất kỳ kiểu ascii char khác) trong Local, Auto, hoặc Xem các cửa sổ gỡ lỗi, các ký tự CR/LF trong các biến của tôi không được hiển thị.Visual C++ Debug cửa sổ hiển thị CR/LF trong Visual Studio 2008

Nói cách khác, nếu tôi có biến chuỗi được đặt thành "Đây là dòng \ r \ nĐây là một dòng khác" trong mã của tôi, cửa sổ gỡ lỗi sẽ hiển thị "Đây là dòngĐây là một dòng khác". Những gì tôi muốn nó hiển thị là "Đây là một dòng □□ Đây là một dòng" để tôi có thể nhìn thấy hai nhân vật phụ trong văn bản đó.

Điều này đã khiến tôi mắc lỗi khi cố gắng gỡ lỗi mã phân tích chuỗi. Lưu ý, trình hiển thị văn bản đúng cách phá vỡ văn bản thành các dòng riêng biệt, nhưng tôi không muốn sử dụng trình hiển thị văn bản nếu tôi không phải. Hơn nữa, một số đồng nghiệp của tôi có thể thấy các ký tự CR/LF theo cách chính xác, nhưng chúng tôi không thể xác định lý do tại sao chúng không được hiển thị cho tôi.

Rất cám ơn trước.

+0

Bạn đang nói về cửa sổ nào? "Cửa sổ gỡ lỗi" gợi ý cửa sổ đầu ra gỡ lỗi (ví dụ: khi đầu ra OutputDebugString xuất hiện), nhưng từ mô tả, có vẻ như bạn đang nói về cửa sổ Xem, Tự động và Người dân địa phương. –

+0

Xin lỗi nếu tiêu đề của câu hỏi gây nhầm lẫn. Trong câu đầu tiên tôi đã nói, "biến trong cửa sổ gỡ lỗi Địa phương, Tự động hoặc Xem". – Derek

Trả lời

3

này có vẻ là một số loại khó sinh sản lỗi (Tôi không nhìn thấy chúng trong 2k8 hoặc) theo this old link:

Nếu chúng ta muốn làm điều này đúng, chúng tôi sẽ cần phải đưa ra các trình tự thoát thích hợp cho các ký tự này. ví dụ: hiển thị "\ r \ n" trong chuỗi. Hành vi tước các ký tự đặc biệt trong lịch sử và sẽ được khắc phục trong bản phát hành trong tương lai. Nếu bạn đang xem văn bản với dòng mới trong đó, bạn có thể xem chuỗi dưới dạng mảng ký tự: nhập "str, 100" để xem chuỗi có chiều dài 100 dưới dạng mảng. Hoặc bạn có thể nhấp vào biểu tượng kính lúp và xem chuỗi trong điều khiển chỉnh sửa nhiều dòng.

Một tháng sau:

Chúng tôi không thể tái tạo vấn đề này trên không VS2003 cũng không VS2005. Điều này trông giống như một vấn đề máy cụ thể.

Vì vậy, nếu đồng nghiệp của bạn thực sự nhìn thấy nó thì phải có điều gì đó kỳ lạ xảy ra trong thiết lập của chúng tôi.

+0

Tìm tốt. Một suy nghĩ khác đã xảy ra với tôi là phiên bản hệ điều hành của tôi. Tôi là người duy nhất ở đây chạy Vista x64 (cả ở nơi làm việc và ở nhà, và cả hai đều có cùng một vấn đề) trong khi mọi người khác đang chạy XP 32 bit hoặc Vista. Báo cáo lỗi đó có vẻ như nó đã được gửi bởi một người nào đó đang chạy XP. – Derek

+0

Đây có thể là lỗi 64 bit (mặc dù bản thân VS chỉ là 32). Ở nhà tôi chạy VS2k8 trên Windows 7 x64 và không thấy bất cứ điều gì, nhưng tại nơi làm việc tôi đã có VS2k5 trên XP x32 và _do_ xem các ô vuông thay cho \ r \ n. –

+0

Tôi sử dụng VS 2005 trên XP 64 và không thấy bất kỳ điều gì cho \ r hoặc \ n, do đó, có vẻ như đó là sự cố 64 bit. Mặc dù vậy - VS chính nó là 32-bit, và tôi chỉ làm việc với mã 32-bit. – RichieHindle

0

Đây có phải là phông chữ bạn đang sử dụng không? tất cả các bạn có sử dụng cùng một phông chữ (tốt nhất là mặc định) không?

Tôi đã gặp phải một số vấn đề khó chịu với những người làm điều đó. Không chắc chắn nếu đó là vấn đề của bạn, nhưng nó là một cái gì đó để kiểm tra.

+0

Đối với cài đặt "[Xem, người bản địa và công cụ tự động Windows]" trong Công cụ-> Tùy chọn-> Môi trường-> Phông chữ và Màu sắc, tôi đang sử dụng phông chữ Tahoma. Tôi tin rằng đó là cài đặt mặc định và đồng nghiệp của tôi cũng đang sử dụng phông chữ này. – Derek

0

Để trả lời câu hỏi SQL Server tôi đã tìm thấy, ít nhất trong năm 2008, nếu bạn nhận được 200 hàng để chỉnh sửa nó sẽ hiển thị \ r \ n ô vuông, nếu bạn nhận được 1000 hàng cho chỉ đọc nó sẽ không phải.

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