trace: Use correct argument index and tgid for filters
`trace` would use the incorrect argument index for USDT probes when filtering specifically, e.g. `trace u:lib:tp (arg1 != 0) ...` would actually use the type of the 2nd argument, and not the 1st argument for the type of the filter variable in the generated program. This could cause compilation errors or subtle bugs where the data would be either extended or contracted to fit the wrong argument's type. Additionally, `trace` would use the pid (thread id, `-L`) filter with the `attach_uprobe` API, which expects a tgid (process id). As a result, incorrect filtering would happen.
Showing
Please register or sign in to comment