Skip to content

Commit

Permalink
Boot time slides: mention ltrace too
Browse files Browse the repository at this point in the history
The description is shared with the embedded Linux course

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
  • Loading branch information
Michael Opdenacker authored and tpetazzoni committed Oct 29, 2021
1 parent c9befc5 commit edbf945
Show file tree
Hide file tree
Showing 7 changed files with 74 additions and 4 deletions.
2 changes: 1 addition & 1 deletion agenda/boot-time-agenda.tex
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ \section{Day 2- Morning}
{Lecture - Application optimization}
{
\begin{itemize}
\item Using \code{strace}
\item Using \code{strace} and \code{ltrace}
\item Other profiling techniques
\end{itemize}
}
Expand Down
2 changes: 1 addition & 1 deletion agenda/boot-time-fr-agenda.tex
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ \section{2\textsuperscript{ème} Jour - Matin}
{Cours - Optimisation de l'application}
{
\begin{itemize}
\item Utilisation de \code{strace}
\item Utilisation de \code{strace} et \code{ltrace}
\item Autres techniques de profiling
\end{itemize}
}
Expand Down
2 changes: 1 addition & 1 deletion agenda/boot-time-online-agenda.tex
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ \section{Half day 2}
{Lecture - Application optimization}
{
\begin{itemize}
\item Using \code{strace}
\item Using \code{strace} and \code{ltrace}
\item Other profiling techniques
\end{itemize}
}
Expand Down
2 changes: 1 addition & 1 deletion agenda/boot-time-online-fr-agenda.tex
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ \section{2\textsuperscript{ème} demi-journée}
{Cours - Optimisation de l'application}
{
\begin{itemize}
\item Utilisation de \code{strace}
\item Utilisation de \code{strace} et \code{ltrace}
\item Autres techniques de profiling
\end{itemize}
}
Expand Down
68 changes: 68 additions & 0 deletions common/ltrace.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
\begin{frame}
\frametitle{ltrace}
A tool to trace library calls used by a program and all the signals
it receives
\begin{itemize}
\item Very useful complement to \code{strace}, which shows only system
calls. Library calls include system calls too!
\item Of course, works even if you don't have the sources
\item Allows to filter library calls with regular expressions, or
just by a list of function names.
\item Manual page: \url{https://linux.die.net/man/1/ltrace}
\item Works better with {\em glibc}. \code{ltrace} was broken
with {\em uClibc} and may still be.
\end{itemize}
See \url{https://en.wikipedia.org/wiki/Ltrace} for details
\end{frame}

\begin{frame}[fragile]
\frametitle{ltrace example output}
\small
\begin{block}{}
\begin{verbatim}
ltrace nedit index.html
sscanf(0x8274af1, 0x8132618, 0x8248640, 0xbfaadfe8, 0) = 1
sprintf("const 0", "const %d", 0) = 7
strcmp("startScan", "const 0") = 1
strcmp("ScanDistance", "const 0") = -1
strcmp("const 200", "const 0") = 1
strcmp("$list_dialog_button", "const 0") = -1
strcmp("$shell_cmd_status", "const 0") = -1
strcmp("$read_status", "const 0") = -1
strcmp("$search_end", "const 0") = -1
strcmp("$string_dialog_button", "const 0") = -1
strcmp("$rangeset_list", "const 0") = -1
strcmp("$calltip_ID", "const 0") = -1
\end{verbatim}
\end{block}
\end{frame}

\begin{frame}[fragile]
\frametitle{ltrace summary}
Example summary at the end of the ltrace output (\code{-c} option)
\scriptsize
\begin{block}{}
\begin{verbatim}
Process 17019 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00 0.000050 50 1 set_thread_area
0.00 0.000000 0 48 read
0.00 0.000000 0 44 write
0.00 0.000000 0 80 63 open
0.00 0.000000 0 19 close
0.00 0.000000 0 1 execve
0.00 0.000000 0 2 2 access
0.00 0.000000 0 3 brk
0.00 0.000000 0 1 munmap
0.00 0.000000 0 1 uname
0.00 0.000000 0 1 mprotect
0.00 0.000000 0 19 mmap2
0.00 0.000000 0 50 46 stat64
0.00 0.000000 0 18 fstat64
------ ----------- ----------- --------- --------- ----------------
100.00 0.000050 288 111 total
\end{verbatim}
\end{block}
\end{frame}

1 change: 1 addition & 0 deletions slides/boot-time-application/boot-time-application.tex
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ \section{Optimizing applications}
\end{frame}

\input{../common/strace.tex}
\input{../common/ltrace.tex}

\begin{frame}
\frametitle{oprofile}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -494,6 +494,7 @@ \subsection{Memory checkers}
\subsection{System analysis}

\input{../common/strace.tex}
\input{../common/ltrace.tex}

\begin{frame}
\frametitle{ltrace}
Expand Down

0 comments on commit edbf945

Please sign in to comment.