addr2line中的"鉴别器"是什么?

ano*_*nol 21 c c++ addr2line

在某些程序中运行addr2line时,我会在行尾给出一个"鉴别器N"注释:

main at /tmp/nsievebits.c:56 (discriminator 3)

手册页没有提到它,快速谷歌搜索似乎主要表明源代码文件,没有明确的解释.这是一些故意无证的功能吗?更重要的是,我应该担心吗?

Vin*_*ond 15

据我了解,当有在一行多个代码路径,看到更多的鉴别是有用的存在.您可以放心地忽略它们,但如果知道如何阅读它们,它们可以为您提供有关堆栈指向的确切位置的非常精确的信息.