I want to use Uprobe in eBPF to trace the Java program I wrote, but I do not know how to find the symbol table corresponding to the Java program. When I find https://github.com/jvm-profiling-tools/perf-map-agent project,it is very exciting, but then new problems arose immediately:
When I use cilium to load EBPF program,code as following,An error occurred:creating perf_uprobe PMU: token /proc/13096/exe:0x733f8cc7aaa0: opening perf event: invalid argument.
link, err := exe.Uprobe("Lsun/net/www/protocol/http/HttpURLConnection;::setRequestProperty", t.uprobes["uprobe_HttpURLConnection_setRequestProperty"], &link.UprobeOptions{Address: 0x733f8cc7aaa0}),
We suspect that the address from the perf-${pid}.map is not actual address,i want to know 733f8cc7aaa0 mean what? how to convert it to a static address? Thank you very much!
root@ubuntu22:/data/ilucky/cloudwise/euspace# cat /tmp/perf-13096.map | grep setRequestProperty
733f8cc7aaa0 fd0 Lsun/net/www/protocol/http/HttpURLConnection;::setRequestProperty
https://github.com/jvm-profiling-tools/perf-map-agent/issues/26
Use uprobes on Java JIT’d methods
IluckySi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.