Re: [PATCH v5 0/3] Add new trace-cmd record options: "--proc-map"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 14 Aug 2019 11:47:09 +0300
"Tzvetomir Stoyanov (VMware)" <tz.stoyanov@xxxxxxxxx> wrote:

> New options to trace-cmd record are added:
>   - "--proc-map" - Saves traced process(es) address map in trace.dat
>     file.
>   - "--user" - Executes the traced process as given user.
> 
> As "--proc-map" option uses trace-cmd ptrace logic, part of this code is
> rewritten. There were some leftovers related to this logic, the code is
> upadted.

Hi Tzvetomir,

For some reason, this patch series ended up as part of the: Separate
trace-cmd and libtracecmd code series.

-- Steve

> 
> [
>    v5 changes:
>         - Added new patch: 
>             "Extend ptrace logic to work with multiple filtered pids"
>           It resolves "filter_pid" leftover in ptrace related logic.
>         - "--proc-map" does not depend on option -F, it works with any command,
>           specified as trace-cmd argument or option -P.
>         - Renamed "mmap" to "proc-map" - the option name and the names of
>           the functions, variables and defines related to this feature.
>    v4 changes:
> 	- Added check for strdup() failure.
> 	- Made input user string argument of change_user() and run_cmd()
> 	 constant.
>         - Added description of the new "--mmap" trace-cmd option in the 
>           program's help and the man page. (Suggested by Slavomir Kaslev)
> 
>       Problems, reported by Yordan Karadzhov:
>         - Improved the parsing of /proc/<pid>/maps. Made it not so strict, as it
>           failed on some machines due to different size of fields. 
>         - Implemented trace_pid_mmap_free() cleanup function to free mmap
>           related resources at trace-cmd exit.
>         - Fixed potential problem with non-terminated string, returned by
>           readlink().
>         - Coding style fixes.
>    v3 changes:
>       - "--user" does not depend on option -F, it works with any command,
>         specified as trace-cmd argument.
>       - Changed tracecmd_search_task_mmap() API to return not only the library
>      name, but also the start and end memory addresses.
>       - Renamed *tracee* to *task*
>       - Improved resources cleanup, in case of an error.
>       - Removed (this) changelog from the commit message.
>    v2 changes:
>      - Check for errors in change_user(). If an error occurs while
>        changing the user, the message is printed and the traced 
>        process is not executed.
>      - Replaced usage of tracecmd_add_option_v() with tracecmd_add_option() API.
>      - Added checks to prevent buffer overflow when sscanf (... "%s", buf) is used.
>      - Return error in case memory allocation fails.
>      - Return error if option string is not in the expected format.
>      - Sort memory maps and use binary search to find matching library in the map.
> ]
> 
> Tzvetomir Stoyanov (VMware) (3):
>   trace-cmd: Extend ptrace logic to work with multiple filtered pids
>   trace-cmd: Save the tracee address map into the trace.dat file.
>   trace-cmd: Add option to execute traced process as given user
> 
>  Documentation/trace-cmd-record.1.txt |   6 +
>  include/trace-cmd/trace-cmd.h        |  10 +
>  lib/trace-cmd/trace-input.c          | 172 +++++++++++++++-
>  tracecmd/include/trace-local.h       |  10 +
>  tracecmd/trace-record.c              | 282 +++++++++++++++++++++++++--
>  tracecmd/trace-usage.c               |   2 +
>  6 files changed, 464 insertions(+), 18 deletions(-)
> 




[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux