Fixed TestUprobes.test_simple_library() in test_uprobes.lua
authorMichael Przybylski <mike.przybylski@appdynamics.com>
Fri, 20 Jan 2017 07:54:03 +0000 (23:54 -0800)
committerMichael Przybylski <mike.przybylski@appdynamics.com>
Thu, 9 Feb 2017 14:57:57 +0000 (06:57 -0800)
src/lua/bcc/bpf.lua
src/lua/bcc/sym.lua
tests/lua/test_uprobes.lua

index 50e722e..cf68d4b 100644 (file)
@@ -180,7 +180,7 @@ end
 function Bpf:attach_uprobe(args)
   Bpf.check_probe_quota(1)
 
-  local path, addr = Sym.check_path_symbol(args.name, args.sym, args.addr)
+  local path, addr = Sym.check_path_symbol(args.name, args.sym, args.addr, args.pid)
   local fn = self:load_func(args.fn_name, 'BPF_PROG_TYPE_KPROBE')
   local ptype = args.retprobe and "r" or "p"
   local ev_name = string.format("%s_%s_0x%p", ptype, path:gsub("[^%a%d]", "_"), addr)
index 39fe017..539336d 100644 (file)
@@ -30,10 +30,10 @@ local function create_cache(pid)
   }
 end
 
-local function check_path_symbol(module, symname, addr)
+local function check_path_symbol(module, symname, addr, pid)
   local sym = SYM()
   local module_path
-  if libbcc.bcc_resolve_symname(module, symname, addr or 0x0, 0, sym) < 0 then
+  if libbcc.bcc_resolve_symname(module, symname, addr or 0x0, pid or 0, sym) < 0 then
     if sym[0].module == nil then
       error("could not find library '%s' in the library path" % module)
     else
index d419eb5..965e9eb 100644 (file)
@@ -27,8 +27,8 @@ int count(struct pt_regs *ctx) {
   local text = text:gsub("PID", tostring(pid))
 
   local b = BPF:new{text=text}
-  b:attach_uprobe{name="c", sym="malloc_stats", fn_name="count"}
-  b:attach_uprobe{name="c", sym="malloc_stats", fn_name="count", retprobe=true}
+  b:attach_uprobe{name="c", sym="malloc_stats", fn_name="count", pid=pid}
+  b:attach_uprobe{name="c", sym="malloc_stats", fn_name="count", pid=pid, retprobe=true}
 
   assert_equals(BPF.num_open_uprobes(), 2)