Initial commit.

This is the beginning of the gdb-steroids talk.  It's still missing a
lot.
This commit is contained in:
Sergio Durigan Junior 2014-01-03 15:57:33 -02:00
commit f2a4ecb724
2 changed files with 131 additions and 0 deletions

12
Makefile Normal file
View File

@ -0,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}

119
gdb-steroids.tex Normal file
View File

@ -0,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}