Профилирование стокового ядра Ubuntu с помощью sysprof: как?

Существуют различные общесистемные средства отладки (sysprof, oprofile, systemtap), которым нужны символы отладки. Получить символы отладки для приложений пользовательского пространства легко: https://wiki.ubuntu.com/DebuggingProgramCrash

Репозиторий ddebs также содержит linux-image-$(uname -r)-dbgsym пакетов, но даже если я его установлю, sysprof продолжает показывать мне бесполезную "в ядре" без подробной информации. Где я могу получить символы отладки, которые sysprof может использовать?

В пакете systemtap есть предложения: linux-debug-2.6. Поиск apt-cache не может найти ничего под названием linux-debug-2.6. Это где-то доступно? Или это непродуктивный тупик?

Кстати, oprofile может использовать символы отладки из вышеупомянутого пакета dbgsym, но не из коробки - он хочет /lib/modules/$(uname -r)/build/vmlinux, и я должен сказать, это использовать использовать /usr/lib/debug/boot/vmlinux-$(uname -r)-generic. Но у oprofile отсутствует хороший графический интерфейс, поэтому я бы предпочел sysprof.

Итак, как я могу убедить sysprof показать мне, что происходит в ядре?

4
задан 4 October 2010 в 01:37

1 ответ

Насколько я могу судить, я ошибся, и sysprof на самом деле не обеспечивает какой-либо уровень детализации, кроме "в ядре". Вот sysprof-1.0.12 / process.c, строки с 350 по 355:

    if (address == 0x1)
    {
        kernel.name = "in kernel";
        kernel.address = 0x0001337;
        return &kernel;
    }
0
ответ дан 4 October 2010 в 01:37

Другие вопросы по тегам:

Похожие вопросы: