2009-02-06 30 views
7

Tại sao trình gỡ lỗi được tích hợp so với trình gỡ rối như vậy ... hầu như không hoạt động? Tôi không thể thấy nội dung của một đối tượng trong bộ nhớ. Ví dụ, tôi đang làm việc với bitmap và tôi muốn xem chúng trong bộ nhớ. Tôi có cần trình gỡ lỗi tốt hơn cho điều này không? Nếu vậy tôi quan tâm đến các khuyến nghị. Không có gì quá mạnh mẽ như một bộ tách rời, chỉ là trình gỡ rối.Visual Studio C++ Debugger: Không có kết xuất hex?

+0

Tôi đã dành 3 giờ để tìm thông tin cơ bản về cách đọc các biến cục bộ trong windbg và studio trực quan. Tôi không thể tìm thấy bất cứ thứ gì có hiệu quả. Tôi không thể tìm thấy bất kỳ nguồn thông tin đáng tin cậy nào. Nó không giống như GDB, nơi bạn có thể xem mọi thứ và tài liệu thực sự rõ ràng và đơn giản. – Owl

Trả lời

27

Tôi chưa bao giờ thấy nó "không hoạt động". VS cung cấp cho bạn tháo gỡ theo mặc định khi nó không thể tìm thấy nguồn, và nó khá dễ dàng để có được để xem bộ nhớ. Debug-> Windows -> Bộ nhớ. Nhập "this" vào hộp Address: để lấy bộ nhớ của đối tượng hiện tại của bạn. Để xem loại thành viên cụ thể '& this-> member_name'. Nó sẽ nhảy ngay đến byte đầu tiên.

+0

Và nó đẹp như thế nào khi bộ nhớ không hiển thị trong menu đó, chỉ khi bạn thực sự cần nó và có, tôi đã bật tính năng gỡ lỗi cấp địa chỉ trên ... – nus

+0

Đây có phải là trong khi chạy một chương trình C++ từ dự án của nó dưới trình gỡ rối không? Nó sẽ không xuất hiện trong những tình huống mà nó không có ý nghĩa. –

1

VS2005 có tab "bộ nhớ" sẽ cung cấp byte bộ nhớ. Tôi không biết chính xác làm thế nào để thuyết phục nó để làm nổi bật các khối hex cho bạn để cho bạn biết những biến nào là mặc dù.

1

Gỡ lỗi | Windows | Bộ nhớ sẽ cho phép bạn xem bất kỳ vùng bộ nhớ nào bạn muốn (tùy thuộc vào các hạn chế về quy trình/truy cập). Đây là trong VS2005. Có thể có cấu trúc menu hơi khác nhau trong các phiên bản khác.

+0

Sử dụng vs 2008 tại đây. Cảm ơn mặc dù. – Zombies

+0

Cũng tương tự vào năm 2013, vì vậy tôi chắc chắn nó giống nhau trong năm 2008 – TankorSmash

2

Gỡ lỗi | Windows | Bộ nhớ | Memory1-4. Đặt địa chỉ của khối bộ nhớ bạn muốn xem trong Địa chỉ. Đây có lẽ là tùy chọn menu khó nhất mà bạn từng thử thực hiện bằng chuột (bạn sẽ thấy ...).

Trong các phiên bản cũ hơn của VS, nếu bạn muốn xem nội dung của biến, bạn cần xác định địa chỉ của biến, tôi thường sử dụng cửa sổ xem.

Tuy nhiên, trong các phiên bản mới hơn, bạn thường có thể chỉ cần nhập tên của biến là Địa chỉ, giống như bạn làm trong cửa sổ xem.

0

Tôi không biết liệu có tốt hay không, nhưng tìm kiếm nhanh "bộ nhớ hiển thị trình gỡ lỗi dưới dạng bitmap" đã bật lên Bitmap Memory Debugger, được thiết kế để sử dụng cùng với một trình gỡ lỗi khác như Visual Studio hoặc WinDbg.

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