使用 perf_event_open() 检索调用链

Retrieve Callchain Using perf_event_open()

如何使用 perf_event_open() 检索调用链?我不想使用 oprofile 和 perf 提供的调用链。我想直接得到它们。看来我需要mmap() perf_event_open()返回的文件描述符。我不知道 mmap() 的大小以及如何从中读取。

this book 的第 8 章通过示例描述了如何将 perf_event_open() 用于 countingsampling 模式。