一部のプログラムでaddr2lineを実行すると、行の最後に「discriminatorN」コメントが表示されます。
main at /tmp/nsievebits.c:56 (discriminator 3)
マニュアルページにはそれが記載されておらず、グーグルですばやく検索すると、明確な説明がなく、ほとんどがソースコードファイルであることが示されているようです。意図的に文書化されていない機能ですか?さらに重要なことに、私はそれについてまったく心配する必要がありますか?
私が理解している限り、ディスクリミネーターは、1行に複数のコードパスがある場合に役立ちます。詳細については、こちらを参照してください。それらは無視しても問題ありませんが、それらの読み方を知っていれば、スタックが正確に指している場所に関する非常に正確な情報を得ることができます。