C 这是否可以让GDB识别预处理器符号?

C 这是否可以让GDB识别预处理器符号?,c,gdb,C,Gdb,我有很多C预处理器#define语句,这使我的C编程更加容易。但是,在使用GDB进行调试时,符号列表中不考虑预处理器“标签” 有没有办法让GDB识别#defined标签?#define符号通常不作为调试信息的一部分常量变量(or)通常是一个更好的主意,原因更多(例如范围、类型安全、多重评估等)。我建议尽可能使用它们来支持预处理器符号。您可以尝试使用g3进行编译,如前所述 我们传递-gdwarf-2和-g3标志,以确保编译器包括 调试信息中有关预处理器宏的信息 或者您可以尝试使用-ggdb+1来支

我有很多C预处理器
#define
语句,这使我的C编程更加容易。但是,在使用GDB进行调试时,符号列表中不考虑预处理器“标签”


有没有办法让GDB识别
#define
d标签?

#define
符号通常不作为调试信息的一部分<代码>常量变量(or)通常是一个更好的主意,原因更多(例如范围、类型安全、多重评估等)。我建议尽可能使用它们来支持预处理器符号。

您可以尝试使用g3进行编译,如前所述

我们传递-gdwarf-2和-g3标志,以确保编译器包括 调试信息中有关预处理器宏的信息


或者您可以尝试使用
-ggdb

+1来支持
const
,尽管我不会称它们为“
const
变量”)您的答案仍然假定只有一种定义,即定义常数。还有许多其他方法是可能的,例如
#定义min(a,b)((a)<(b))?(a) :(b)
-ggdb
无效。请看(我非常确定Jan是GDB开发人员之一)。
gcc -gdwarf-2 -g3