标识符中的 Gdb 和美元

PSk*_*cik 6 c gcc gdb clang

我想调试一个在标识符扩展中使用美元的程序。

#include <stdio.h>
int main()
{
    int $a = 42, b= 43;
    printf("%d %d\n", $a, b);
}
Run Code Online (Sandbox Code Playgroud)

举个简单的例子。如果我在 gdb 下运行它,我可以b使用进行检查p b,但因为p $a我得到void. 我只能用info locals.

有没有办法在 gdb 中引用包含 $ 的标识符?

chq*_*lie 3

gdb在解析要打印的表达式之前解释首字母$in 。p $a

但请注意,它仅对初始$: 如果该$符号出现在符号中间(例如:p a$1),则该变量将正确打印。

对于名称以美元符号开头的局部变量,一种解决方法是打印所有局部变量

info locals
Run Code Online (Sandbox Code Playgroud)