Cleanup.
This commit is contained in:
parent
4b3bbbe2c4
commit
1efc3468e9
2 changed files with 25 additions and 48 deletions
|
@ -1,12 +1,8 @@
|
||||||
#+OPTIONS: toc:nil date:nil
|
#+OPTIONS: toc:nil date:nil
|
||||||
#+SELECT_TAGS: export
|
|
||||||
#+EXCLUDE_TAGS: noexport
|
|
||||||
#+CREATOR: Emacs 26.1 (Org mode 9.1.9)
|
#+CREATOR: Emacs 26.1 (Org mode 9.1.9)
|
||||||
#+TITLE: GDB Intro
|
#+TITLE: GDB Intro
|
||||||
#+AUTHOR: Sergio Durigan Junior @@latex:\\@@ sergiodj@{sergiodj.net,redhat.com,debian.org}
|
#+AUTHOR: Sergio Durigan Junior @@latex:\\@@ sergiodj@{sergiodj.net,redhat.com,debian.org}
|
||||||
#+LANGUAGE: en
|
#+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
|
* License
|
||||||
|
|
||||||
|
@ -14,10 +10,6 @@
|
||||||
|
|
||||||
- https://creativecommons.org/licenses/by/4.0/
|
- https://creativecommons.org/licenses/by/4.0/
|
||||||
|
|
||||||
* Agenda
|
|
||||||
|
|
||||||
- Blabla
|
|
||||||
|
|
||||||
* Introduction
|
* Introduction
|
||||||
|
|
||||||
- =GDB=: =GNU= project's Debugger @@latex:\pause@@ (it is *not* a
|
- =GDB=: =GNU= project's Debugger @@latex:\pause@@ (it is *not* a
|
||||||
|
@ -256,15 +248,10 @@
|
||||||
|
|
||||||
- Support for /SystemTap SDT probes/.
|
- Support for /SystemTap SDT probes/.
|
||||||
|
|
||||||
* End
|
* Thank you
|
||||||
|
|
||||||
|
- Thanks to Red Hat for the support.
|
||||||
|
|
||||||
#+ATTR_LATEX: :options style=customc
|
- Thanks to Paul Nijjar and Bob Jonkman for the invitation.
|
||||||
#+begin_src c -n
|
|
||||||
int main ()
|
|
||||||
{
|
|
||||||
const char *c = NULL;
|
|
||||||
|
|
||||||
return 0;
|
- Thanks to you for watching!
|
||||||
}
|
|
||||||
#+end_src
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
% Created 2019-06-02 Sun 21:20
|
% Created 2019-06-03 Mon 10:40
|
||||||
% Intended LaTeX compiler: pdflatex
|
% Intended LaTeX compiler: pdflatex
|
||||||
\documentclass[presentation]{beamer}
|
\documentclass[presentation]{beamer}
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
|
@ -16,8 +16,6 @@
|
||||||
\usepackage{hyperref}
|
\usepackage{hyperref}
|
||||||
\usepackage{color}
|
\usepackage{color}
|
||||||
\usepackage{listings}
|
\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}
|
\usetheme{default}
|
||||||
\author{Sergio Durigan Junior \\ sergiodj@\{sergiodj.net,redhat.com,debian.org\}}
|
\author{Sergio Durigan Junior \\ sergiodj@\{sergiodj.net,redhat.com,debian.org\}}
|
||||||
\date{}
|
\date{}
|
||||||
|
@ -33,7 +31,7 @@
|
||||||
|
|
||||||
\maketitle
|
\maketitle
|
||||||
|
|
||||||
\begin{frame}[label={sec:orga1f4768}]{License}
|
\begin{frame}[label={sec:orgeac0a69}]{License}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item License: \alert{Creative Commons Attribution 4.0 International License (CC-BY-4.0)}
|
\item License: \alert{Creative Commons Attribution 4.0 International License (CC-BY-4.0)}
|
||||||
|
|
||||||
|
@ -41,13 +39,7 @@
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[label={sec:org13db7cc}]{Agenda}
|
\begin{frame}[fragile,label={sec:org071d481}]{Introduction}
|
||||||
\begin{itemize}
|
|
||||||
\item Blabla
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}[fragile,label={sec:orgcb90a6c}]{Introduction}
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{GDB}: \texttt{GNU} project's Debugger \pause (it is \alert{not} a
|
\item \texttt{GDB}: \texttt{GNU} project's Debugger \pause (it is \alert{not} a
|
||||||
\emph{database}\ldots{}). Supports several programming languages.
|
\emph{database}\ldots{}). Supports several programming languages.
|
||||||
|
@ -57,7 +49,7 @@ likely before \alert{GCC}).
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\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}
|
\begin{itemize}
|
||||||
\item Your program needs to contain \alert{debug information} (also called
|
\item Your program needs to contain \alert{debug information} (also called
|
||||||
\texttt{DWARF}) for GDB to consume.
|
\texttt{DWARF}) for GDB to consume.
|
||||||
|
@ -86,7 +78,7 @@ using the flag \texttt{-O0} (it's \emph{dash-oh-zero}).
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\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}
|
\begin{itemize}
|
||||||
\item In GDB's parlance, the program being debugged is called the
|
\item In GDB's parlance, the program being debugged is called the
|
||||||
\alert{inferior}.
|
\alert{inferior}.
|
||||||
|
@ -119,7 +111,7 @@ using the flag \texttt{-O0} (it's \emph{dash-oh-zero}).
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile,label={sec:org361654c}]{\{Break,Catch,Watch\}points}
|
\begin{frame}[fragile,label={sec:org5c690dd}]{\{Break,Catch,Watch\}points}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item A \alert{breakpoint} is related to \emph{source code} (location, function). A
|
\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
|
\alert{watchpoint} is related to \emph{data} (read/write of a variable). A
|
||||||
|
@ -164,7 +156,7 @@ receive a signal).
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile,label={sec:org62a7e28}]{Resuming the execution}
|
\begin{frame}[fragile,label={sec:orgfc53d4a}]{Resuming the execution}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item After GDB has stopped the inferior (because a \texttt{*point} has been hit,
|
\item After GDB has stopped the inferior (because a \texttt{*point} has been hit,
|
||||||
for example), you will probably want to resume its execution.
|
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}
|
\begin{itemize}
|
||||||
\item The inferior has stopped\ldots{} Now what?
|
\item The inferior has stopped\ldots{} Now what?
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
@ -259,7 +251,7 @@ for example), you will probably want to resume its execution.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile,label={sec:org71b8f2a}]{Examining the code}
|
\begin{frame}[fragile,label={sec:orga54b38a}]{Examining the code}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Yes, we have \texttt{ncurses}! The \textbf{T}ext
|
\item Yes, we have \texttt{ncurses}! The \textbf{T}ext
|
||||||
\textbf{U}user \textbf{I}nterface!
|
\textbf{U}user \textbf{I}nterface!
|
||||||
|
@ -298,7 +290,7 @@ using the \texttt{dir} command.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile,label={sec:org1b45b5a}]{Examining the call stack}
|
\begin{frame}[fragile,label={sec:orgab39cfc}]{Examining the call stack}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item If you want to see the call stack (A.K.A. stack trace) that lead to
|
\item If you want to see the call stack (A.K.A. stack trace) that lead to
|
||||||
the current function:
|
the current function:
|
||||||
|
@ -321,7 +313,7 @@ the current function:
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile,label={sec:org22c386a}]{Corefiles}
|
\begin{frame}[fragile,label={sec:org66fa673}]{Corefiles}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \alert{Corefiles} are frozen images of the inferior. You can inspect
|
\item \alert{Corefiles} are frozen images of the inferior. You can inspect
|
||||||
everything that was happening when the process was running (but you
|
everything that was happening when the process was running (but you
|
||||||
|
@ -363,7 +355,7 @@ sure you:
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile,label={sec:org7b2681d}]{Other interesting information}
|
\begin{frame}[fragile,label={sec:orgb366da5}]{Other interesting information}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{info breakpoints}
|
\item \texttt{info breakpoints}
|
||||||
|
|
||||||
|
@ -375,7 +367,7 @@ sure you:
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile,label={sec:org73ead26}]{Who you gonna call?}
|
\begin{frame}[fragile,label={sec:org6c7407d}]{Who you gonna call?}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Our online documentation (\texttt{info}) is very good!
|
\item Our online documentation (\texttt{info}) is very good!
|
||||||
|
|
||||||
|
@ -387,7 +379,7 @@ sure you:
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[label={sec:orgf6ce0ab}]{Other advanced features}
|
\begin{frame}[label={sec:org9103f37}]{Other advanced features}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Python support.
|
\item Python support.
|
||||||
|
|
||||||
|
@ -397,15 +389,13 @@ sure you:
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile,label={sec:org0d39b0e}]{End}
|
\begin{frame}[label={sec:org462e66a}]{Thank you}
|
||||||
\lstset{language=C,label= ,caption= ,captionpos=b,firstnumber=1,numbers=left,style=customc}
|
\begin{itemize}
|
||||||
\begin{lstlisting}
|
\item Thanks to Red Hat for the support.
|
||||||
int main ()
|
|
||||||
{
|
|
||||||
const char *c = NULL;
|
|
||||||
|
|
||||||
return 0;
|
\item Thanks to Paul Nijjar and Bob Jonkman for the invitation.
|
||||||
}
|
|
||||||
\end{lstlisting}
|
\item Thanks to you for watching!
|
||||||
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
Loading…
Reference in a new issue