07 2018 档案
摘要:为了测试docker的挂载权限,把宿主机的/etc/passwd文件挂载到了虚机当中,进入虚机想看下能不能直接对我宿主机上的文件进行操作,把/etc/passwd删掉了最后十行。。。结果宿主机上的/etc/passwd也改了,于是你sudo功能根本就不能用了。。。。。,FUCK! 还好,在网上查了下
阅读全文
摘要:为了测试docker的挂载权限,把宿主机的/etc/passwd文件挂载到了虚机当中,进入虚机想看下能不能直接对我宿主机上的文件进行操作,把/etc/passwd删掉了最后十行。。。结果宿主机上的/etc/passwd也改了,于是你sudo功能根本就不能用了。。。。。,FUCK! 还好,在网上查了下
阅读全文
摘要:0x7fffffffdb30: 0x00000000 0x00000000 0xf7ffe700 0x0000001a0x7fffffffdb40: 0xffffdc98 0x00007fff 0xf7de1b1f 0x00007fff0x7fffffffdb50: 0xffffdb70 0x000
阅读全文
摘要:0x7fffffffdb58: 0x004005ba 0x00000000 0x00000000 0x00000000 < funcb的栈帧 [0x7fffffffdb60, 0x7fffffffdb80],其中a=0x1a,其中这个栈的栈底是返回地址4005d0x7fffffffdb68: 0x0
阅读全文
摘要:从结构体stack_dump入手, util/unwind-libunwind-local.c 中有函数access_mem 是如何处理栈帧的 然后发现access_mem调用了好多次,可能是因为用户栈大小的问题,是怎么 编译了binary,但是并没有正确解析出函数调用栈,这是因为在我系统的lib6
阅读全文
摘要:dwarf是如何处理栈帧的? DW_AT_frame_base 表明函数栈帧的起始点 95 < 1><0x000000ca> DW_TAG_subprogram 96 DW_AT_external yes(1) 97 DW_AT_name "funcb" 98 DW_AT_decl_file 0x0
阅读全文
摘要:dwarf是如何处理的栈帧呢? 首先看下非dwarf的情况是如何处理栈帧的: 我们可以看到,这里的0x400689,0x400664,0x4005b0都是栈中的下一跳ip的地址,但是对于dwarf的格式,中间却没有任何的用户栈的信息 可见中间毫无用户态的栈出现,dwarf到底是怎样解析的用户栈?难道
阅读全文
摘要:栈帧!栈帧!今天就把栈帧给弄清楚!有一个函数调用关系-->main -->print -->add -->funca -->funcb -->funcc在函数funcc函数处设置断点,由于用户态栈是由高到低扩展:当函数执行到(gdb) print $sp$1 = (void *) 0x7ffffff
阅读全文
摘要:如果perf record -c -c后面接的是sample_period,也就是说你让这个事件没 我的loop进程一直在执行,我的CPU的频率是2.6G hz,也就是说每一秒会有2,600,000,000个时钟周期,那么我sample_period设置成1000的时候 所以-c 是指发生多少次事件
阅读全文
摘要:当perf stat -e branches 是统计 再看perf record,perf record是为了是记录时间发生的时候的调用栈, 在我的测试代码中总共有200,000,000条branch的命令,但是为啥我只看到了1964这样一个数量级的采样呢? perf record设置了采样的频率吗
阅读全文
摘要:./arch/x86/events/intel/core.c:2161: data.br_stack = &cpuc->lbr_stack;./arch/x86/events/intel/ds.c:1181: data->br_stack = &cpuc->lbr_stack; LBR last b
阅读全文
摘要:perf_prepare_sample-->perf_callchain-->get_perf_callchain 上面的调用栈会使用 perf_event_output--> 0xffffffff811837f0 : perf_event_output+0x0/0x80 [kernel] 0xff
阅读全文
摘要:ftrace接口中是时间都id是啥意思,还有format,enable的时候发生了啥 id, enable, filter相关的函数接口全部都在 kernel/trace/trace_events.c event_create_dir <--__trace_add_new_event <-- tra
阅读全文
摘要:再看内核的ftrace架构 如何在tracepoint上注册函数 在上面这篇文章中,我们知道了如何在函数中tracepoint上注册函数,那么是谁搭建的这个平台呢?内核中ftrace平台 register_trace_##name tracepoint_probe_register_prio __D
阅读全文
摘要:bpf都是怎么起作用的? 记得bpf之前是绑定在bpf bpf作用在哪里呀?
阅读全文
浙公网安备 33010602011771号