Symbols defined with #define pre-processor directives are not visible in the debug symbol table. winIDEA scans source code files to determine values and names of such symbols.
In #define dialog the analysis can be enabled for every download file individually:
Download File Options #define dialog
Files which should be analyzed can be specified either by file path or listed specifically.
File Path - specifies paths to source files that will be analyzed. Options are:
•Files specified in winIDEA’s project file list
•Files referenced in the download file
Analyze these files additionally - files that will be analyzed disregarding the file path choice. New files can be added with the "Add..." button and removed with the "Remove" button.
To correctly scan the include paths, the order of include paths must be given in the same fashion as the compiler sees it.
Use project include paths - If winIDEA’s build manager is used, the Use project include files option should be checked. Analysis then scans all project include paths.
Additional pre-processor command line - If Use project include files isn't checked, include search paths and any command line preprocessor defines should be specified in the Additional pre-processor command line field, using the specified syntax.
The analysis of source code is performed after download - the progress dialog will display ANALYZING status.
The detected pre-processor symbols, which have non-empty value and are not defined with differing values in different files are shown in the symbol browser and are considered in expression evaluations.
Since by scanning the source code the definition position is known, the ‘Go to Definition’ (F12 shortcut) can be used in the source code editor.
Note: analyzing large projects with many files and deep include dependencies can take considerable time. If only globally defined macros are of interest, the analysis can be accelerated by creating a new header file, which #includes all relevant headers. This file can then be specified in the Analyze these files additionally and Analyze source files is set to none. Such file does not need to be included in the application itself. Symbols that are defined with compiler switches can be inserted in this file instead of specifying them in the Additional pre-processor command line.