summaryrefslogtreecommitdiff
path: root/application-devel/app-debugging/pres_app-debugging_de.tex
diff options
context:
space:
mode:
authorJan Altenberg <jan@jan-laptop.(none)>2010-04-23 15:41:59 +0200
committerJan Altenberg <jan@jan-laptop.(none)>2010-04-23 15:41:59 +0200
commitae303294cc741b9498816a0c6d1540074c364ded (patch)
tree8e36efe0bdf2201c32946dd3e00895b0723d2b80 /application-devel/app-debugging/pres_app-debugging_de.tex
parenta27c72e072813081e79798db5e54deaa5b7ad5d5 (diff)
Started debugging chapter.
Diffstat (limited to 'application-devel/app-debugging/pres_app-debugging_de.tex')
-rw-r--r--application-devel/app-debugging/pres_app-debugging_de.tex66
1 files changed, 54 insertions, 12 deletions
diff --git a/application-devel/app-debugging/pres_app-debugging_de.tex b/application-devel/app-debugging/pres_app-debugging_de.tex
index 07db328..1c912b9 100644
--- a/application-devel/app-debugging/pres_app-debugging_de.tex
+++ b/application-devel/app-debugging/pres_app-debugging_de.tex
@@ -1,24 +1,66 @@
-\documentclass{article}
+\documentclass{beamer}
+\usetheme{linutronix}
\usepackage{german}
\usepackage[utf8]{inputenc}
+\usepackage{pgf}
+\usepackage{graphicx}
+\usepackage{lxextras}
+
+\title{Block \lq Was ist Linux?\rq}
+\institute{Linutronix GmbH}
+
+\lstset{keywordstyle=\color{blue},commentstyle=\color{orange}}
\begin{document}
-\section*{Block \lq Was ist Linux?\rq}
+\maketitle
+\begin{frame}
+\frametitle{Übersicht}
+\tableofcontents
+\end{frame}
-\subsection*{Lernziele}
-\begin{itemize}
-\item Lernziel 1
-\item Lernziel 2
-\item Lernziel 3
-\end{itemize}
+\section{Einfache Debugging Werkzeuge}
+\subsection{System calls tracen mit STRACE}
+\begin{frame}
+\frametitle{STRACE}
+\begin{alertblock}{Was ist STRACE?}
+STRACE ist ein mächtiges Diagnosewerkzeug, mit dem sich System Calls und Signale
+tracen lassen.
+\end{alertblock}
+\end{frame}
-\subsection*{Unterrichts-Ablauf}
+\begin{frame}[containsverbatim]
+\frametitle{Anwendungsbeispiel}
+\begin{lstlisting}[language=bash]
+$ strace /bin/ls
+execve("/bin/ls", ["/bin/ls"], [/* 38 vars */]) = 0
+brk(0) = 0x8061000
+access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
+0xb7f03000
+access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
+open("/etc/ld.so.cache", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=113431, ...}) = 0
+[...]
+\end{lstlisting}
+\end{frame}
-Hinweise zur Präsentation, Zeitplanung, etc.
+\begin{frame}[containsverbatim]
+\frametitle{Wichtige STRACE Optionen}
+\begin{itemize}
+\item \textbf{-f}: Follow Forks
+\item \textbf{-v}: Verbose mode
+\item \textbf{-T}: Print out time which is spent in each syscall
+\item \textbf{-p PID}: Attach to PID
+\end{itemize}
+\end{frame}
-\subsection*{Übungen bei vorhandener Hardware}
+\subsection{Memory debugging}
+\subsubsection{MTrace}
+\subsubsection{libDUMA (aka electric fence)}
+\section{Der GNU Debugger: GDB}
+\subsection{Post mortem Analyse mit GDB}
+\subsection{Interaktives Debugging mit GDB}
-Hinweise zu Übungen, Zeitlimit dazu.
\end{document}