Initial commit.
This is the beginning of the gdb-steroids talk. It's still missing a lot.
This commit is contained in:
commit
f2a4ecb724
2 changed files with 131 additions and 0 deletions
12
Makefile
Normal file
12
Makefile
Normal 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
119
gdb-steroids.tex
Normal 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}
|
Loading…
Reference in a new issue