diff options
| author | Jan Altenberg <jan@jan-laptop.(none)> | 2010-04-23 15:41:59 +0200 |
|---|---|---|
| committer | Jan Altenberg <jan@jan-laptop.(none)> | 2010-04-23 15:41:59 +0200 |
| commit | ae303294cc741b9498816a0c6d1540074c364ded (patch) | |
| tree | 8e36efe0bdf2201c32946dd3e00895b0723d2b80 /application-devel/app-debugging/pres_app-debugging_de.tex | |
| parent | a27c72e072813081e79798db5e54deaa5b7ad5d5 (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.tex | 66 |
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} |
