【发布时间】:2019-05-13 23:17:39
【问题描述】:
我正在调试 glibc 库。我用 -g3 -O 标志构建了它。我可以打印大多数宏,但不能打印这个。我在调试malloc(),有很多宏使用__alignof__。但是我在 glibc 源代码中的任何地方都找不到它的定义。这是一个例子:
(gdb) p MALLOC_ALIGN_MASK
No symbol "__alignof__" in current context.
我也遇到了与 __builtin_offsetof 相同的问题。但这是一个内置的宏。所以这两种情况有点不同。解决这个问题会加快我的调试速度。
【问题讨论】:
-
__builtin_offsetof()和__alignof__均由 GCC 提供。 -
所以,我得重新构建 gcc 来获取这些符号,上次需要 1 个多小时。