~sergiodj/talks_gdb-best-friend

27a1de29b79766ae1a1d573e280683323c639c52 — Sergio Durigan Junior 8 years ago 3554d9c
Highlighting the fact that debuginfo is not needed for SDT probes to work; rework caller_is example
1 files changed, 11 insertions(+), 4 deletions(-)

M gdb-best-friend.tex
M gdb-best-friend.tex => gdb-best-friend.tex +11 -4
@@ 231,7 231,7 @@ process("./example-stap").mark("my_probe") $arg1:long
		\pause
		\item{Integrated with the \textit{breakpoint} system.  Support for printing a \probe{}'s argument value.}
		\pause
		\item{Not necessary to include debug information in your binary (\texttt{-g} flag); arguments are encoded directly in the asm.}
		\item{\textcolor{red}{Not necessary to include debug information in your binary (\texttt{-g} flag); arguments are encoded directly in the asm.}}
		\pause
		\item{Also possible to use optmization flags (\texttt{-O}).}
	\end{itemize}


@@ 339,7 339,6 @@ $2 = 10

\begin{frame}[fragile]
	\frametitle{\python{}$^3$}
%	\begin{itemize}
		\begin{block}{caller\_is.py}
		\tiny
		\begin{lstlisting}[language=python,showstringspaces=false]


@@ 370,8 369,16 @@ CallerIs()
\begin{frame}[fragile]
	\frametitle{\python{}$^4$}
	\begin{itemize}
		\item{\verb|(gdb) source caller_is.py|}
		\item{\verb|(gdb) break foo if $caller_is ("bar")|}
		\item{To use it:}
		\begin{block}{Using caller\_is.py}
			\tiny
			\begin{lstlisting}[language=sh,showstringspaces=false]
(gdb) source caller_is.py
(gdb) break foo if $caller_is ("bar")
			\end{lstlisting}
			\end{block}
		\item{Internal variables and functions on \gdb{} start with \verb|$|.}
		\item{\texttt{caller\_is.py} is part of upstream \gdb{}.}
	\end{itemize}
\end{frame}