Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the "discriminator" in addr2line?

Tags:

c++

c

addr2line

When running addr2line in some programs, I get a "discriminator N" comment at the end of the line:

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

The man page doesn't mention it, and a quick Google search seems to indicate mostly source code files, with no clear explanation. Is it some intentionally undocumented feature? More importantly, should I worry about it at all?

like image 401
anol Avatar asked Jan 17 '13 14:01

anol


1 Answers

As far as I understand, discriminator can be useful when there are more than one code path on a single line, see more there. You can safely ignore those, but if one knows how to read them, they can give you very precise information about where exactly the stack points to.

like image 146
Vincent Fourmond Avatar answered Oct 20 '22 07:10

Vincent Fourmond