Skip to content

Instantly share code, notes, and snippets.

@drouarb
Created November 28, 2018 01:53
Show Gist options
  • Select an option

  • Save drouarb/50e2ae836f07b47914eef66f630eacf6 to your computer and use it in GitHub Desktop.

Select an option

Save drouarb/50e2ae836f07b47914eef66f630eacf6 to your computer and use it in GitHub Desktop.
Systemtap middleware for sqlite
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_prepare_v2") {
asmlinkage()
int i
i = 0
while (i < int_arg(3)) {
printf("%s", kernel_string(pointer_arg(2) + i));
i += strlen(kernel_string(pointer_arg(2) + i))
}
printf("\n")
//printf("%d %d\n", strlen(user_string_n(pointer_arg(2), int_arg(3))), int_arg(3))
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_step") {
printf("sqlite3_step\n")
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_finalize") {
printf("sqlite3_finalize\n")
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_blob") {
printf("->sqlite3_bind_blob\n")
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_blob64") {
printf("->sqlite3_bind_blob64\n")
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_double") {
printf("->sqlite3_bind_double\n")
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_int") {
printf("->sqlite3_bind_int\t%d %d\n", int_arg(2), int_arg(3))
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_int64") {
printf("->sqlite3_bind_int64\t%d %d\n", int_arg(2), s64_arg(3))
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_null") {
printf("->sqlite3_bind_null\t%d\n", int_arg(2))
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_text") {
printf("->sqlite3_bind_text\t%d %s\n", int_arg(2), kernel_string(pointer_arg(3)))
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_text16") {
printf("->sqlite3_bind_text16\n")
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_text64") {
printf("->sqlite3_bind_text64\n")
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_value") {
printf("->sqlite3_bind_value\n")
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_zeroblob") {
printf("->sqlite3_bind_zeroblob\n")
}
probe process("/usr/lib/plexmediaserver/libsqlite3.so.0").function("sqlite3_bind_zeroblob64") {
printf("->sqlite3_bind_zeroblob64\n")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment