【问题标题】:Why does GDB display char in octal?为什么 GDB 以八进制显示 char?
【发布时间】:2018-04-09 02:34:10
【问题描述】:

我不明白在 vscode 的 gdb 调试视图中用八进制表示 char 或 unsigned char 来代替 ascii 字符的设计选择(如果 char 中的数据在 ascii 字符的范围内,它显示一个 ascii 字符)。我在 ubuntu 17.10 上使用最新版本的 vscode。作为一个人类,这让我感到困惑,但我希望有人能解释其背后的逻辑。另外,如果可能的话,我想改变这种行为。

【问题讨论】:

  • 我确信 gdb 的部分内容可以追溯到几十年前,当时八进制符号的使用非常普遍,尤其是在引用控制字符时。在这里,这个字符是一个不可打印的字符。它需要以某种有意义的方式显示,而且 gdb 的遗产意味着几十年前出于某种原因做出了使用八进制的决定。她就是这么写的。
  • 这是有道理的。当我使用原始字节时,如果它是十进制或十六进制,它会变得容易得多!

标签: c++ ubuntu visual-studio-code


【解决方案1】:

如果您准备从源代码重建 GDB(这在 Linux 上并不难!),试试这个:

https://stackoverflow.com/a/60450772/12978961

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-23
    • 2012-07-14
    • 1970-01-01
    • 2018-05-23
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多