小编Wil*_*iam的帖子

lsof列出的FD管道列是什么意思?

我正在使用以下命令获取管道列表:

lsof | grep PIPE 
Run Code Online (Sandbox Code Playgroud)

我想知道FD列的值是什么意思(第5页http://i.imgur.com/KHczptf.png).我认为,rw平均读取写入分别,但到底是什么下面的每一个字符,这些装置的数量?


我知道FD意味着文件描述符,我想弄清楚的是列中显示的值是什么意思,比如3r,16w,20r等.

linux shell command lsof file-descriptor

12
推荐指数
1
解决办法
2万
查看次数

记录每个C函数调用的所有参数值

我有一个C二进制文件(可用的源代码)和预定义的工作负载.我想以调用顺序记录所有函数调用及其各自的参数,以及返回值.例如,在下面的代码中:

int myfunc(int value){
    return value*2;
}

int main(void){
    int i;
    i = myfunc(10);
    i = myfunc(12);
    i = myfunc(20);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它会导致像这样的日志文件:

int main()
int myfunc(10)
myfunc return 20
int myfunc(12)
myfunc return 24
int myfunc(21)
myfunc return 42
main return 0
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用英特尔PIN来完成它,并且它工作得非常好,除了当变量是指针,数组,结构或typedef时.我需要所有变量.

我有源代码,我可以使用调试选项编译它.

有任何想法吗?

手动PS调试是不可行的,因为我的实际工作负载有来自90个不同功能的大约5000个调用.

编辑:操作系统是Arch Linux 64bit

c parameters logging function

3
推荐指数
1
解决办法
155
查看次数

标签 统计

c ×1

command ×1

file-descriptor ×1

function ×1

linux ×1

logging ×1

lsof ×1

parameters ×1

shell ×1