2011-12-28 28 views
5

Khi tôi cố gắng truy cập vectơ trong trình gỡ lỗi VC++ 2010, các phần tử có sẵn duy nhất là "_M_start", "_M_end" và "_M_end_of_storage". Một ví dụ ảnh chụp màn hình như sau:Gỡ lỗi vector Visual C++ 2010 - không có nội dung nào được hiển thị

Vector debug issue example

Tôi nhớ một thời gian lại có thể truy cập các nội dung thực tế của một véc tơ, nhưng trong một thời gian dài này vẫn chưa được các trường hợp (Tôi đã có thể sống với nó trong một thời gian). Có một thiết lập/tính năng cụ thể mà tôi đã vô tình tắt hoặc tôi thiếu một cái gì đó hoàn toàn?

+2

bạn đang sử dụng STLport hoặc MS STL? – NirMH

+1

Hoặc cài đặt VC++ của bạn bị hỏng hoặc bạn đang sử dụng mã STL không VS2010 chưa được biên dịch lại cho VS2010 –

+0

Đầu tiên là một bản dựng gỡ lỗi và bạn có biểu tượng gỡ lỗi không? Thứ hai, bạn có thể xóa giải pháp của bạn * .sdf tập tin để thiết lập lại intellisense vv – AJG85

Trả lời

2

Được biết, VS IDE không thể hiển thị thông tin gỡ lỗi của vùng chứa STL không thuộc sở hữu của Microsoft STL. tôi đã có cùng một vấn đề trong khi sử dụng thư viện STLPort.

nhưng, bạn vẫn có thể sử dụng đồng hồ để khám phá nội dung của vectơ, nó sẽ trở nên tẻ nhạt hơn. Bạn có thể truy cập các phần tử của vectơ bằng cách sử dụng phương pháp lập chỉ mục mảng trên thành viên _M_start. Thêm vào đồng hồ của bạn

meshEdges._M_start[0] 

Sau đó, bạn sẽ có thể xem nội dung của phần tử đầu tiên của vectơ. Không có cách đơn giản nào để khám phá/xem toàn bộ các phần tử của vectơ, bạn sẽ phải tự mình lặp lại, nhưng nó vẫn là thứ gì đó.

Bạn có thể đọc thêm trong liên kết này http://umairsaeed.com/2009/11/23/visualizing-stlport-data-structures-in-visual-studio-debugger. Nó mô tả cách thêm "kiến thức" ở trên vào thành phần VS IDE Watch. Tôi không chắc chắn nó là đến ngày để trình biên dịch VS2010 của bạn, nhưng bạn có thể khám phá chính mình.

+0

Cảm ơn, tôi có thể xem xét một trình hiển thị tự động hóa cụ thể cho các vùng chứa STL mà SDK tôi đang sử dụng. Dù bằng cách nào, như bạn đã đề cập có những phương pháp khác (mặc dù tẻ nhạt hơn) để gỡ lỗi vectơ. –

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