Я використовую perf record -gна x86-64 Linux для профілю програми. Кілька символів у libc або libstdc ++ є 0як батьківські: __GI___strcmp_ssse3(libc) та strcmp@plt(libstdc ++), наприклад. (Я насправді можу зламати ці символи на відладчику і отримати зворотній слід.)
Мені б хотілося знати, що є основними абонентами цих функцій, і чому вони не записуються. Це тому, що libc та libstdc ++ не мають покажчиків кадру на x86_64? І, практичніше, чи існує якийсь шлях до цього?
perf record --call-graph dwarfвирішує цю проблему для мене. на жаль, схоже, що у perf виникають проблеми із відображенням графіків викликів на основі виклику (тобто "перевернутого") при використанні карликової інформації. Тому я почав використовувати FlameGraph для візуалізації.