On Mon, 18 Oct 2021, 04:46 Dongliang Mu, <mudongliangabcd@gmail.com> wrote:
Hi all,
I am writing to kindly ask one question: is there any tracing mechanism in Linux kernel that can trace all the executed instructions of a user process? If this user process is run on different processors, traces of this process on different processors should be also recorded.
You've not explained in detail what is the purpose of the tracing that you want to do. Missing this information I can only provide you a list of links to various tools and methods. Take a look by yourself and try to figure out what is better suited for your needs... https://lwn.net/Kernel/Index/#Development_tools-Kernel_tracing trace-cmd: https://trace-cmd.org perf ftrace: <Linux source>/tools/perf/Documentation/perf-trace.txt perf-tools: https://github.com/brendangregg/perf-tools In particular, the "function_graph" tracer of ftrace seems to be suited for your purposes: https://man7.org/linux/man-pages/man1/trace-cmd.1.html https://man7.org/linux/man-pages/man1/trace-cmd-record.1.html https://man7.org/linux/man-pages/man1/trace-cmd-report.1.html Obviously, gdb (and friends) is still invaluable (but it may be difficult to use, depending on your knowledge and experience, so use it if you really know that you need it): https://www.kernel.org/doc/html/latest/dev-tools/gdb-kernel-debugging.html https://www.kernel.org/doc/html/latest/dev-tools/kgdb.html Regards, Fabio M. De Francesco
Any comment is welcome.
-- My best regards to you.
No System Is Safe! Dongliang Mu
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies