ดีบักเกอร์ Visual Studio - แสดงค่าจำนวนเต็มใน Hex


152

ฉันใช้ Visual Studio 2008 และฉันเพิ่งสังเกตเห็นว่าตัวดีบักแสดงค่าจำนวนเต็มเป็น Hex เมื่อฉันวางเมาส์เหนือตัวแปรและในหน้าต่างทันที ฉันเดาว่าฉันต้องกดคีย์ลัดโดยไม่ตั้งใจหรืออย่างอื่น

ใครเคยมีสิ่งนี้มาก่อนหรือไม่ ฉันจะตั้งค่ากลับเป็นทศนิยมได้อย่างไร


เชื่อหรือไม่ว่านี่คือยัง upsetting เพิ่มขึ้นของจำนวนเต็มประกาศด้วย oopses f + 1 = 10 (dec)ขนาดใหญ่เช่น
Laurie Stearn

คำตอบ:


273

คลิกขวาที่หน้าต่างดูหรือหน้าต่างทันทีและยกเลิกการเลือกตัวเลือกการแสดงเลขฐานสิบหก

ป้อนคำอธิบายรูปภาพที่นี่


4
ไม่สามารถใช้งานได้ในกล่องโต้ตอบเครื่องมือ วิธีเดียวที่ฉันสามารถเปลี่ยนกลับได้คือการเพิ่มหน้าต่างตัวแปรในการเฝ้าดูและคลิกขวาในฟิลด์ค่าจากนั้นฉันมีกล่องกาเครื่องหมายแสดงเลขฐานสิบหก
fizzer

12
ฉันสามารถทำได้ในหน้าต่างCall Stackใน VS2010
StuperUser

1
อยู่ในแถบเครื่องมือดีบั๊กสำหรับฉัน
Breandán

2
ขอบคุณพระเจ้าที่ฉันกำจัดสิ่งที่น่ารำคาญนี้ ขอบคุณ @Leniel
Ali Umair

2
ยังคงมีความเกี่ยวข้องในปี 2020 กับ VS 2019!
Marc Levesque

45

นอกจากนี้คุณยังสามารถเลือกเลขฐานสิบหกหรือทศนิยมการแสดงผลบนพื้นฐานต่อตัวแปรในVisual Studio หน้าต่างดูโดยผนวกระบุรูปแบบการดีบักชื่อตัวแปร ในหน้าต่างดูให้ป้อน:

myInt,h
myInt,d

ตัวระบุรูปแบบที่มีประโยชน์อื่น ๆ คือac(ดูเชิงอรรถ) สำหรับ 'คำนวณเสมอ' และnqแสดงด้วย 'ไม่มีเครื่องหมายคำพูด' สามารถใช้ร่วมกัน:

my_string_func(),ac,nq

nqมีประโยชน์ภายในDebuggerDisplayคุณสมบัติซึ่งสามารถปรากฏในชั้นเรียน:

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

... หรือบนหนึ่งหรือมากกว่าหนึ่งสาขาในชั้นเรียน:

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

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

http://msdn.microsoft.com/en-us/library/e514eeby(v=VS.100).aspx

  • โปรดทราบว่าหน้าเอกสาร MSDN รุ่นก่อนหน้ากล่าวว่า 'Ac' ไม่ถูกต้อง (ด้วยตัวพิมพ์ใหญ่ 'A') ซึ่งไม่สามารถใช้งานได้

+1 แต่ถึงแม้ว่า MSDN จะระบุว่าhเป็นตัวดัดแปลงที่ถูกต้องสำหรับการแสดงผลฐานสิบหก แต่ดูเหมือนว่า (อย่างน้อยในรุ่น VS พรีเมี่ยม VS 2012 ของฉัน) ที่xทำงานแทน (เช่น1024,xแทน1024,h) การวางhจะส่งกลับข้อผิดพลาด "CXX0026 สตริงรูปแบบที่ไม่ดี"
Groo

ฉันสงสัยว่าอาจขึ้นอยู่กับภาษาที่โมดูลที่กำลังดีบั๊กถูกเขียนมันเป็นความจริงที่ว่าไวยากรณ์นิพจน์ดีบักเกอร์เปลี่ยนแปลงตามภาษาปัจจุบัน จากข้อความของคุณปรากฏว่าคุณใช้ C ++; ฉันตอบราวกับว่าสำหรับ C # แม้ว่าบางทีฉันไม่ควรสันนิษฐานว่าเนื่องจาก OP ไม่ได้ระบุ
Glenn Slayden

1
วิธีนี้ช่วยให้สามารถควบคุมการจัดรูปแบบได้ดีขึ้นเมื่อเทียบกับ "Hexadecimal Display" ทั้งหมดหรือไม่ก็ได้
Fernando Gonzalez Sanchez

17

มีปุ่ม Hex ที่แสดงเมื่อเรียกใช้ Visual Studio ในโหมดดีบั๊กเพื่อเปิด / ปิดการแสดงผล Hex

Visual Studio Debug Mode - ปุ่มเลขฐานสิบหก


นี่คือปุ่มที่ถูกมองข้ามเหมือนกับการแสดงเลขฐานสิบหกในเมนูบริบทขอบคุณ
Fredrick Gauss

11

คลิกขวาที่พื้นที่ไคลเอนต์ของเกือบทุกหน้าต่างแก้ไขข้อบกพร่อง (ยกเว้นหน้าต่างทันที) - เฝ้าดู / ท้องถิ่น / รถยนต์ / กระทู้ / โทรสแต็ก - และยกเลิกการเลือกตัวเลือก"การแสดงผลเลขฐานสิบหก" นอกจากนี้ยังมีปุ่ม "Hex" ในแถบเครื่องมือดีบั๊ก (ขวาไปที่ "Step Over" โดยค่าเริ่มต้น) เมื่อทำการดีบั๊ก


9

ใน Visual Studio 2010 ฉันยังเห็นมันในแถบเครื่องมือดีบั๊กมันถูกเน้นด้วยสีเหลือง 'Hex' ฉันเพิ่งคลิกมันและมันกลับไปเป็นค่าทศนิยมปกติ (ปกติ)


3

ในหน้าต่างทันทีคุณสามารถยกเลิกการเลือกตัวเลือกการแสดงเลขฐานสิบหก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.