-
-
未解决 [求助] Linux内核中的进程读取文件需要访问sys_read、vfs_read,在这两个函数return返回时是否可以修改函数体中变量的值
-
发表于: 2019-7-17 10:53 2471
-
未解决 [求助] Linux内核中的进程读取文件需要访问sys_read、vfs_read,在这两个函数return返回时是否可以修改函数体中变量的值
2019-7-17 10:53
2471
目前,我所知道的情况是SystemTap可以修改进程中的变量值。下面是一个简单的demo:
demo由test.c和test.stp组成test.c如下所示:
#include<stdio.h> typedef struct node { int id; } node_t; int main() { node_t node1; node_t *p = &node1; node1.id = 1; printf("change value\n"); printf("The value of id is %d\n", node1.id); return 0; }
使用“gcc -Wall -g -o test ./test.c”将test.c编译为可执行文件test
test.stp如下所示:
probe process("./test").statement("main@./test.c:13") { $p->id = 3; printf("$p$ : %s\n", $p$); }
执行“stap -g test.stp”,结果如下所示:
change value The value of id is 3
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
赞赏
雪币:
留言: