Что такое "дискриминатор" в addr2line? - программирование
Подтвердить что ты не робот

Что такое "дискриминатор" в addr2line?

При запуске addr2line в некоторых программах я получаю комментарий "дискриминатора N" в конце строки:

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

Страница руководства не упоминает об этом, и быстрый поиск Google, по-видимому, указывает в основном файлы исходного кода, без ясного объяснения. Это какая-то умышленно недокументированная функция? Что еще более важно, я должен вообще об этом беспокоиться?

4b9b3361

Ответ 1

Насколько я понимаю, дискриминатор может быть полезен, если в одной строке есть несколько путей кода, см. более там. Вы можете смело игнорировать их, но если кто-то знает, как их читать, они могут дать вам очень точную информацию о том, где именно указывает стек.