GDB имеет только очень приблизительную реализацию C и C ++.Он не использует тот же синтаксический анализатор C и C ++, что и GCC, поэтому некоторые вещи отсутствуют, включая это расширение GCC.GDB распознает _Alignof
, но это не то же самое, что __alignof__
.Но в этом случае это будет работать, так что вы можете изменить исходники glibc, чтобы использовать его.
LLDB использует синтаксические анализаторы Clang и поэтому не страдает от этой конкретной проблемы, но не поможет вам в этом, потому что, очевидно,отладчик не распознает данные DWARF, сгенерированные параметром -g3
, поэтому информация о макросах отсутствует в исполняемом файле.