That's why you need to compile it as debug.
Because the pre-processor will parse it.
With modern IDEs you would just need to open the header file and the executed code path will be highlighted and you can hover over the pre-processor defines.
Xcode is far from perfect. I had many such issues over time. Maybe it was an issue with cached headers.
The most prominent IDE with such issues is Eclipse.