~sergiodj/talks_gdb-steroids

f2a4ecb7245e0e652ae277a3f55edc66041a86ac — Sergio Durigan Junior 9 years ago master
Initial commit.

This is the beginning of the gdb-steroids talk.  It's still missing a
lot.
2 files changed, 131 insertions(+), 0 deletions(-)

A Makefile
A gdb-steroids.tex
A  => Makefile +12 -0
@@ 1,12 @@
CC = pdflatex
TARGET = gdb-steroids
EXTENSION = tex

all:
	set -e ; \
	for i in 1 2 ; do \
		$(CC) $(TARGET).$(EXTENSION) ; \
	done ;

clean:
	rm -f $(TARGET).{aux,log,nav,out,pdf,snm,toc,vrb}

A  => gdb-steroids.tex +119 -0
@@ 1,119 @@
\documentclass[slidestop,compress,blue]{beamer}
%\usetheme{default}
%\usetheme{Malmoe}
%\usetheme{Boadilla}
%\usetheme{umbc2}
%\usetheme{Antibes}
%\usetheme{Berlin}
%\usetheme{Madrid}

% Pacotes úteis
\usepackage[utf8]{inputenc}
% Fonte bonita!
\usepackage{ae,aecompl}
\usepackage[brazil]{babel}
\usepackage[T1]{fontenc}
\usepackage{listings}

\title{GDB with steroids: your distro can have it, too!}
\author{Sergio Durigan Junior \\
	\texttt{sergiodj@redhat.com}}
\date{\today}

\usetheme[secheader]{Madrid}
\setbeamertemplate{navigation symbols}{}
\defbeamertemplate*{footline}{infolines theme without institution}
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
    \usebeamerfont{title in head/foot}\insertshorttitle
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
    \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
    \insertframenumber{} / \inserttotalframenumber\hspace*{2ex}
  \end{beamercolorbox}}%
  \vskip0pt%
}

\newcommand{\aspas}[1]{``#1''}
\newcommand{\gnu}{\texttt{GNU}}
\newcommand{\gdb}{\texttt{GDB}}
\newcommand{\gcc}{\texttt{GCC}}
\newcommand{\stap}{\texttt{SystemTap}}
\newcommand{\python}{\texttt{Python}}
\newcommand{\glibc}{\texttt{GLIBC}}
\newcommand{\kernel}{\textit{kernel}}
\newcommand{\probe}{\textit{probe}}
\newtheorem{sourcecode}{Source Code}

\begin{document}

\lstset{escapeinside={(*}{*)}}

\begin{frame}
	\titlepage
\end{frame}

\begin{frame}
	\frametitle{License}
	\begin{itemize}
		\item{License: \textbf{Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)}}
		\item{\url{http://creativecommons.org/licenses/by-sa/3.0/}}
	\end{itemize}
\end{frame}

\section{Topics}
\begin{frame}
	\frametitle{Topics}

\begin{itemize}
	\item{Intro}

	\item{Python ``hook'' activation}

	\item{\texttt{build-id}}

	\item{\texttt{.gdb\_index}}

	\item{dwz}

	\item{Compilation flags}
\end{itemize}
\end{frame}

\section{Intro}
\begin{frame}{Intro}
	\begin{itemize}
		\item{a}
	\end{itemize}
\end{frame}

\section{Python "hook" activation}
\begin{frame}[fragile]{Python ``hook'' activation}
	\begin{itemize}
		\item{Some projects already offer Python extensions
                  (pretty printers, type printers, etc.) to be run
                  when \gdb{} loads them (e.g., \texttt{libstdc++}).}

		\item{The distro needs to arrange things for \gdb{} to
                  lookup those files in the right directories.  Fedora
                  uses \texttt{/usr/share/gdb/auto-load}.}

		\item{You have to provide
                  \verb|--with-auto-load-dir| and
                  \verb|--with-auto-load-safe-path| to the
                  \texttt{configure} script when compiling.}

		\item{Inside the auto-load directory, the files need
                  to be named after their ``parent'' libraries.  For
                  example, for the \texttt{libstc++} hook file, the
                  full path is (on Fedora)
                  \texttt{/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.17-gdb.py}}
	\end{itemize}
\end{frame}

\end{document}