<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hello!</div><div><br></div><div>Currently, I'm developing a process monitor on the base of LTTng, and I face the challenge of accessing command-line arguments passed to execve syscall. </div><div>I'm using LTTng live session and Babeltrace 2 C API to analyze events in online mode.</div><div><br></div><div>syscall_entry_execve event has 3 payload fields: filename, argv, and envp. The first one is a normal C-string, the second and the third semantically are `char *const *`, </div><div>but provided by LTTng as simple unsigned integers (the corresponding fields in Babaltrace2 event payload have type BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER,</div><div>while I expect BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY). As far as I understand, these integers are argv and envp pointers casted to uint64_t. But in the majority of</div><div>cases, events produced by LTTng are analyzed by another process and often even offline, so these pointers became completely unuseful.</div><div><br></div><div>Could you say, if there are some configuration parameters that enable to pass argv and envp content in syscall_entry_execve payload? Or some other ways to get this</div><div>information from LTTng.</div><div><br></div><div>P.S. I consider getting this information from /proc/pid/cmdline, but it is not looking like a clean solution.</div><div><br></div><div>Best regards.</div><div>Valentin Grigorev<br></div></div></div></div></div></div></div></div>