Trình gỡ lỗi Visual Studio - Hiển thị giá trị số nguyên trong Hex


152

Tôi đang sử dụng Visual Studio 2008 và tôi vừa nhận thấy rằng trình gỡ lỗi đang hiển thị các giá trị nguyên dưới dạng Hex khi tôi di chuột qua các biến và cả trong cửa sổ ngay lập tức. Tôi đoán chắc chắn tôi đã nhấn một phím tắt hoặc một cái gì đó.

Bất cứ ai đã có điều này trước đây? Làm cách nào để đặt lại để hiển thị ở dạng thập phân?


Dù bạn có tin hay không, điều này cũng làm đảo lộn sự gia tăng của các số nguyên được khai báo với các oops lớn như thế nào f + 1 = 10 (dec).
Laurie Stearn

Câu trả lời:


273

Nhấp chuột phải vào Cửa sổ xem hoặc Cửa sổ ngay lập tức của bạn và bỏ chọn tùy chọn Hiển thị thập lục phân.

nhập mô tả hình ảnh ở đây


4
không có sẵn trong Hộp thoại Công cụ. Cách duy nhất tôi có thể thay đổi trở lại là thêm cửa sổ Biến để xem và nhấp chuột phải vào trường Giá trị và sau đó tôi có hộp kiểm Hiển thị thập lục phân.
fizzer

12
Tôi đã có thể làm điều đó trong cửa sổ Call Stack trong VS2010.
Người sử dụng Stuper

1
Đã ở thanh công cụ gỡ lỗi cho tôi.
Breandán

2
Cảm ơn Chúa tôi đã thoát khỏi điều phiền toái ngu ngốc này. Cảm ơn @Leniel
Ali Umair

2
Vẫn có liên quan vào năm 2020 với VS 2019!
Marc Levesque

45

Bạn cũng có thể chọn hiển thị thập lục phân hoặc thập phân trên cơ sở mỗi biến trong cửa sổ đồng hồ Visual Studio bằng cách nối thêm một công cụ xác định định dạng trình gỡ lỗi vào tên biến. Trong cửa sổ xem, nhập:

myInt,h
myInt,d

Các chỉ định định dạng rất hữu ích khác là ac(xem chú thích) cho 'luôn luôn tính toán' và nqđể hiển thị với 'không có dấu ngoặc kép'. Chúng có thể được sử dụng cùng nhau:

my_string_func(),ac,nq

nqlà hữu ích bên trong DebuggerDisplaycác thuộc tính, có thể xuất hiện trên một lớp:

[DebuggerDisplay("{my_string_func(),nq}")]
class MyClass
{
    /* ...example continues below... */

... hoặc trên một hoặc nhiều trường trong một lớp:

    [DebuggerDisplay("{some_field,nq}", Name="substitute name here")]
    int an_integer;

    [DebuggerBrowsable(DebuggerBrowsableState.Never)]
    String some_field;
}

http://msdn.microsoft.com/en-us/l Library / e514ewise (v = VS.100) .aspx

  • lưu ý rằng các phiên bản trước của trang tài liệu MSDN đã nói không chính xác 'Ac' (với chữ hoa 'A') - không hoạt động

+1, nhưng mặc dù MSDN hlà công cụ sửa đổi chính xác cho hiển thị hex, nhưng có vẻ như (ít nhất là trong phiên bản của tôi, VS 2012 Premium) xhoạt động thay thế (ví dụ 1024,xthay vì 1024,h). Đặt htrả về lỗi "CXX0026 chuỗi định dạng xấu".
Groo

Tôi nghi ngờ điều đó có thể phụ thuộc vào ngôn ngữ mà mô-đun đang gỡ lỗi được viết. Chắc chắn đúng là cú pháp biểu thức trình gỡ lỗi thay đổi theo ngôn ngữ hiện tại. Từ tin nhắn của bạn, có vẻ như bạn đang sử dụng C ++; Tôi đã trả lời như thể cho C #, mặc dù có lẽ tôi không nên cho rằng vì OP không chỉ định.
Glenn Slayden

1
Điều này cung cấp khả năng kiểm soát riêng biệt tốt hơn về định dạng so với tất cả hoặc không có gì của "Hiển thị thập lục phân"
Fernando Gonzalez Sanchez

17

Có một nút Hex được hiển thị khi Visual Studio chạy ở chế độ Gỡ lỗi để bật / tắt màn hình Hex

Chế độ gỡ lỗi Visual Studio - nút hex


Đây là một nút bị bỏ qua giống như Hiển thị thập lục phân trong menu ngữ cảnh, cảm ơn.
Fredrick Gauss

11

Nhấp chuột phải vào không gian máy khách của hầu hết mọi cửa sổ gỡ lỗi (ngoại trừ Cửa sổ ngay lập tức) - xem / địa phương / ô tô / chủ đề / ngăn xếp cuộc gọi - và bỏ chọn tùy chọn "Hiển thị thập lục phân" . Ngoài ra còn có nút "Hex" trong thanh công cụ gỡ lỗi (quyền "Bước qua" theo mặc định) khi gỡ lỗi.


9

Trong Visual Studio 2010 tôi cũng thấy nó trong thanh công cụ Debug, nó được tô sáng màu vàng 'Hex', tôi chỉ cần nhấp vào nó và nó trở về giá trị thập phân (bình thường)


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.