\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}