为什么 GDB 在以下示例中不打印宏的值?
\n\n\xe2\x9d\xaf cat sample.c\n#include <stdio.h>\n\n#define M 42\n\nint main(int argc, const char **argv)\n{\n printf("M: %d\\n", M);\n return 0;\n}\n\n\xe2\x9d\xaf rm -f sample\n\xe2\x9d\xaf gcc -Wall -g3 -ggdb -gdwarf-2 sample.c -o sample\n\xe2\x9d\xaf gdb sample\n\ngdb> break main\ngdb> run\ngdb> info macro M\n The symbol `M\' has no definition as a C/C++ preprocessor macro\n at <user-defined>:-1\ngdb> continue\n Continuing.\n M: 42\n
Run Code Online (Sandbox Code Playgroud)\n\n谢谢!
\n\n\xe2\x9d\xaf gcc --version\nApple LLVM version 7.3.0 (clang-703.0.29)\n\xe2\x9d\xaf gdb --version\nGNU gdb (GDB) 7.10.1\n
Run Code Online (Sandbox Code Playgroud)\n