This commit is contained in:
Sergio Durigan Junior 2019-06-03 10:41:10 -04:00
parent 4b3bbbe2c4
commit 1efc3468e9
2 changed files with 25 additions and 48 deletions

View file

@ -1,12 +1,8 @@
#+OPTIONS: toc:nil date:nil
#+SELECT_TAGS: export
#+EXCLUDE_TAGS: noexport
#+CREATOR: Emacs 26.1 (Org mode 9.1.9)
#+TITLE: GDB Intro
#+AUTHOR: Sergio Durigan Junior @@latex:\\@@ sergiodj@{sergiodj.net,redhat.com,debian.org}
#+LANGUAGE: en
#+LATEX_HEADER: \usepackage{listings}
#+LATEX_HEADER: \lstdefinestyle{customc}{belowcaptionskip=1\baselineskip,breaklines=true,frame=L,xleftmargin=\parindent,language=C,showstringspaces=false,basicstyle=\footnotesize\ttfamily,keywordstyle=\bfseries\color{green!40!black},commentstyle=\itshape\color{purple!40!black},identifierstyle=\color{blue},stringstyle=\color{orange},}
* License
@ -14,10 +10,6 @@
- https://creativecommons.org/licenses/by/4.0/
* Agenda
- Blabla
* Introduction
- =GDB=: =GNU= project's Debugger @@latex:\pause@@ (it is *not* a
@ -256,15 +248,10 @@
- Support for /SystemTap SDT probes/.
* End
* Thank you
- Thanks to Red Hat for the support.
#+ATTR_LATEX: :options style=customc
#+begin_src c -n
int main ()
{
const char *c = NULL;
- Thanks to Paul Nijjar and Bob Jonkman for the invitation.
return 0;
}
#+end_src
- Thanks to you for watching!

View file

@ -1,4 +1,4 @@
% Created 2019-06-02 Sun 21:20
% Created 2019-06-03 Mon 10:40
% Intended LaTeX compiler: pdflatex
\documentclass[presentation]{beamer}
\usepackage[utf8]{inputenc}
@ -16,8 +16,6 @@
\usepackage{hyperref}
\usepackage{color}
\usepackage{listings}
\usepackage{listings}
\lstdefinestyle{customc}{belowcaptionskip=1\baselineskip,breaklines=true,frame=L,xleftmargin=\parindent,language=C,showstringspaces=false,basicstyle=\footnotesize\ttfamily,keywordstyle=\bfseries\color{green!40!black},commentstyle=\itshape\color{purple!40!black},identifierstyle=\color{blue},stringstyle=\color{orange},}
\usetheme{default}
\author{Sergio Durigan Junior \\ sergiodj@\{sergiodj.net,redhat.com,debian.org\}}
\date{}
@ -33,7 +31,7 @@
\maketitle
\begin{frame}[label={sec:orga1f4768}]{License}
\begin{frame}[label={sec:orgeac0a69}]{License}
\begin{itemize}
\item License: \alert{Creative Commons Attribution 4.0 International License (CC-BY-4.0)}
@ -41,13 +39,7 @@
\end{itemize}
\end{frame}
\begin{frame}[label={sec:org13db7cc}]{Agenda}
\begin{itemize}
\item Blabla
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:orgcb90a6c}]{Introduction}
\begin{frame}[fragile,label={sec:org071d481}]{Introduction}
\begin{itemize}
\item \texttt{GDB}: \texttt{GNU} project's Debugger \pause (it is \alert{not} a
\emph{database}\ldots{}). Supports several programming languages.
@ -57,7 +49,7 @@ likely before \alert{GCC}).
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:orgb03390f}]{Compiling your program for GDB}
\begin{frame}[fragile,label={sec:org2d0fe11}]{Compiling your program for GDB}
\begin{itemize}
\item Your program needs to contain \alert{debug information} (also called
\texttt{DWARF}) for GDB to consume.
@ -86,7 +78,7 @@ using the flag \texttt{-O0} (it's \emph{dash-oh-zero}).
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:org71ced54}]{Running your program using GDB}
\begin{frame}[fragile,label={sec:org8bba82f}]{Running your program using GDB}
\begin{itemize}
\item In GDB's parlance, the program being debugged is called the
\alert{inferior}.
@ -119,7 +111,7 @@ using the flag \texttt{-O0} (it's \emph{dash-oh-zero}).
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:org361654c}]{\{Break,Catch,Watch\}points}
\begin{frame}[fragile,label={sec:org5c690dd}]{\{Break,Catch,Watch\}points}
\begin{itemize}
\item A \alert{breakpoint} is related to \emph{source code} (location, function). A
\alert{watchpoint} is related to \emph{data} (read/write of a variable). A
@ -164,7 +156,7 @@ receive a signal).
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:org62a7e28}]{Resuming the execution}
\begin{frame}[fragile,label={sec:orgfc53d4a}]{Resuming the execution}
\begin{itemize}
\item After GDB has stopped the inferior (because a \texttt{*point} has been hit,
for example), you will probably want to resume its execution.
@ -213,7 +205,7 @@ for example), you will probably want to resume its execution.
\begin{frame}[fragile,label={sec:org717537c}]{Examining data}
\begin{frame}[fragile,label={sec:org9dcb344}]{Examining data}
\begin{itemize}
\item The inferior has stopped\ldots{} Now what?
\end{itemize}
@ -259,7 +251,7 @@ for example), you will probably want to resume its execution.
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:org71b8f2a}]{Examining the code}
\begin{frame}[fragile,label={sec:orga54b38a}]{Examining the code}
\begin{itemize}
\item Yes, we have \texttt{ncurses}! The \textbf{T}ext
\textbf{U}user \textbf{I}nterface!
@ -298,7 +290,7 @@ using the \texttt{dir} command.
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:org1b45b5a}]{Examining the call stack}
\begin{frame}[fragile,label={sec:orgab39cfc}]{Examining the call stack}
\begin{itemize}
\item If you want to see the call stack (A.K.A. stack trace) that lead to
the current function:
@ -321,7 +313,7 @@ the current function:
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:org22c386a}]{Corefiles}
\begin{frame}[fragile,label={sec:org66fa673}]{Corefiles}
\begin{itemize}
\item \alert{Corefiles} are frozen images of the inferior. You can inspect
everything that was happening when the process was running (but you
@ -363,7 +355,7 @@ sure you:
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:org7b2681d}]{Other interesting information}
\begin{frame}[fragile,label={sec:orgb366da5}]{Other interesting information}
\begin{itemize}
\item \texttt{info breakpoints}
@ -375,7 +367,7 @@ sure you:
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:org73ead26}]{Who you gonna call?}
\begin{frame}[fragile,label={sec:org6c7407d}]{Who you gonna call?}
\begin{itemize}
\item Our online documentation (\texttt{info}) is very good!
@ -387,7 +379,7 @@ sure you:
\end{itemize}
\end{frame}
\begin{frame}[label={sec:orgf6ce0ab}]{Other advanced features}
\begin{frame}[label={sec:org9103f37}]{Other advanced features}
\begin{itemize}
\item Python support.
@ -397,15 +389,13 @@ sure you:
\end{itemize}
\end{frame}
\begin{frame}[fragile,label={sec:org0d39b0e}]{End}
\lstset{language=C,label= ,caption= ,captionpos=b,firstnumber=1,numbers=left,style=customc}
\begin{lstlisting}
int main ()
{
const char *c = NULL;
\begin{frame}[label={sec:org462e66a}]{Thank you}
\begin{itemize}
\item Thanks to Red Hat for the support.
return 0;
}
\end{lstlisting}
\item Thanks to Paul Nijjar and Bob Jonkman for the invitation.
\item Thanks to you for watching!
\end{itemize}
\end{frame}
\end{document}