【发布时间】:2014-01-10 08:52:06
【问题描述】:
我想使用 Dtrace 来获取用户空间结构中成员的值,而不是内核。
C 代码是这样的:
typedef struct
{
int a;
}st_A;
void fun1(st_A *p)
{
......
}
Dtrace 脚本是这样的:
#!/usr/sbin/dtrace -qs
pid$1::fun1:entry
{
printf("%d\n", *(int*)copyin(arg0, 4));
}
我个人认为这个 Dtrace 脚本非常笨拙。如果结构包含许多成员,我需要计算每个成员的偏移量。如果结构中包含指针数组,情况就很糟糕了!
那么,在用户态进程的结构中,有没有简单而优雅的方式来访问成员?非常感谢!
【问题讨论】:
标签: dtrace