2012-05-15 4 views
1

Следующее учебное пособие по systemtap онлайн @http://sourceware.org/systemtap/tutorial/, и я пытался сделать некоторые упражнения. В 2.3 Q1, опция -L кажется никогда не work..I получил сценарийКак использовать параметр systemtap -L?

probe kernel.function("*nit*"){} 

типа на терминале: $ НТКГ-L PROBE t.stp отмечая происходит , и я искал в течение длительного времени, не существует информацию об этом варианте, даже на веб-сайте systemtap ...

Любая помощь?

Спасибо!

ответ

3
$ stap -L 'kernel.function("blahblah")' 

Systemtap отличная, но плохая документация.

3

От man stapsystemtap*-1.7-2.fc15.x86_64 РПМИ установлено)

stap [ OPTIONS ] -l PROBE [ ARGUMENTS ] 
    stap [ OPTIONS ] -L PROBE [ ARGUMENTS ] 

    -l PROBE 
      Instead of running a probe script, just list all available probe 
      points matching the given single probe point. The pattern may 
      include wildcards and aliases, but not comma-separated multiple 
      probe points. The process result code will indicate failure if 
      there are no matches. 

    -L PROBE 
      Similar to "-l", but list probe points and script-level local 
      variables. 

«точка зонда» относится к «kernel.function („blahblah“)» и т.д. Там нет ключевого слова «датчика» до и без обработчика зонда после этого.

0

Вы можете попробовать следующие примеры.

Чтобы получить список всех функций ядра.

$ stap -l 'kernel.function ("*")' | сортировать

kernel.function ("[email protected]/build/linux-lts-xenial-Hu9lgy/linux-lts-xenial-4.4.0/fs/read_write.c: 440") [....]

Чтобы получить кернфункцию & аргументов (локальные переменные)

$ НТКГ -L 'kernel.function ("*")' | grep vfs_read

kernel.function ("[email protected]/build/linux-lts-xenial-Hu9lgy/linux-lts-xenial-4.4.0/fs/read_write.c: 440") $ file: struct file * $ ЬиЕ: символ * $ Количество: size_t $ Pos: loff_t *

[....]

0

Просто добавить к тому, что более образованные люди, чем я уже говорил:

stap -L 'module("module-name-here").function("*")' 

для регулярного ядерные датчики:

stap -L 'kernel.function("*")' 

Надеюсь, это поможет кому-то еще в будущем!

Смежные вопросы