summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Traut <manut@linutronix.de>2011-01-21 14:32:07 +0100
committerManuel Traut <manut@linutronix.de>2011-01-21 14:32:07 +0100
commit0e7dbb844f65e70d096ee12f223ed5b792f3b9ba (patch)
treee4798c6c1819ac66de03d211a7147bbee9efe539
parent4eaadbd816e2f5f0717d789188e6086612262e73 (diff)
find and concat pdf files using pdfsam
Signed-off-by: Manuel Traut <manut@linutronix.de>
-rw-r--r--Makefile14
-rw-r--r--application-devel/app-debugging/handout_app-debugging_de.tex18
-rw-r--r--application-devel/devel-environment/handout_devel-environment_de.tex14
-rw-r--r--hints_template.tex8
4 files changed, 32 insertions, 22 deletions
diff --git a/Makefile b/Makefile
index 1f8a1fc..caa4162 100644
--- a/Makefile
+++ b/Makefile
@@ -10,5 +10,15 @@ all clean::
pdf::
rm -rf pdf
- mkdir pdf
- find . -name *.pdf | xargs cp -t pdf/
+ mkdir -p pdf/pres
+ mkdir -p pdf/handout
+ mkdir -p pdf/hints
+ find . -name pres_*.pdf | xargs cp -t pdf/pres
+ find . -name hints_*.pdf | xargs cp -t pdf/hints
+ find . -name handout_*.pdf | xargs cp -t pdf/handout
+ cd pdf/pres && \
+ pdfsam-console -o `pwd`/../pres.pdf -d `pwd` concat
+ cd pdf/hints && \
+ pdfsam-console -o `pwd`/../hints.pdf -d `pwd` concat
+ cd pdf/handout && \
+ pdfsam-console -o `pwd`/../handout.pdf -d `pwd` concat
diff --git a/application-devel/app-debugging/handout_app-debugging_de.tex b/application-devel/app-debugging/handout_app-debugging_de.tex
index a7e1fac..acbd340 100644
--- a/application-devel/app-debugging/handout_app-debugging_de.tex
+++ b/application-devel/app-debugging/handout_app-debugging_de.tex
@@ -7,7 +7,7 @@
\begin{document}
-\section*{STRACE}
+\section{STRACE}
Eine sehr einfache und mächtige Möglichkeit, Systemaufrufe und Signale
zu tracen, ist das Tool ''strace''. Die Anwendung ist denkbar einfach. Dem Aufruf
des zu tracenden Programms wird einfach strace vorangestellt:
@@ -43,8 +43,8 @@ davon sind:\\
\hline
\end{tabular}
\end{center}
-\section*{GDB}
-\subsection*{Interaktives Debugging mit GDB}
+\section{GDB}
+\subsection{Interaktives Debugging mit GDB}
Der GNU Debugger: GDB stellt einen vollwertigen interaktiven Debugger dar,
der für alle gängigen Prozessorarchitekturen verfügbar ist. GDB bietet ein
sehr mächtiges Commandlineinterface. Es existieren diverse grafische Frontends
@@ -129,7 +129,7 @@ quit & q & GDB beenden \\
\end{tabular}
\end{center}
-\subsection*{Analyse von core-Files}
+\subsection{Analyse von core-Files}
Neben der Möglichkeit des interaktiven Debuggings findet GDB auch häufig
eine weitere Anwendung: Die ''Post-Mortem-Analyse'' von Problemen. Wird
eine Applikation beispielsweise durch seinen Segmentation Fault beendet,
@@ -207,7 +207,7 @@ Program terminated with signal 11, Segmentation fault.
#0 0x0000000000400538 in main () at segfault.c:6
\end{lstlisting}
-\section*{Memory debugging}
+\section{Memory debugging}
Eine sehr häufige Problemstellung bei der Fehlersuche in Applikationen
ist das Aufspüren von Problemen in der dynamischen Speicherverwaltung.
Die häufigsten Probleme, die es hier zu untersuchen gilt, sind:
@@ -216,7 +216,7 @@ Die häufigsten Probleme, die es hier zu untersuchen gilt, sind:
\item Memory leaks
\item ''Use after free()''
\end{itemize}
-\subsection*{GLIBC: MTrace}
+\subsection{GLIBC: MTrace}
Die GNU C Library, GLIBC, liefert bereits ein integriertes Werkzeug zum
Debuggen von Speicherproblemen:MTrace. Die Anwendung von MTrace ist denkbar einfach.
Im ersten Schritt ist der Code um folgende Zeilen zu ergänzen:
@@ -265,7 +265,7 @@ Address Size Caller
0x15364a0 0x1 at /home/jan/work/examples/mem_leak.c:13
[...]
\end{lstlisting}
-\subsection*{GLIBC: Hooks für malloc()}
+\subsection{GLIBC: Hooks für malloc()}
Neben mtrace() sieht die GLIBC noch Hooks vor, um Callbacks einzuhängen,
die bei jedem Aufruf von malloc(), realloc(), free() oder memalign()
aufgerufen werden. Hiermit steht eine sehr einfache Möglichkeit zur Verfügung,
@@ -294,7 +294,7 @@ void *function (size_t size, size_t alignment, const void *caller)
ACHTUNG: Bei der Verwendung von malloc() Hooks ist Vorsicht geboten! Jeglicher
Aufruf, der seinerseits wiederrum einen malloc() Aufruf initiiert, führt
innerhalb eines malloc() Hooks unvermeidlich zu einer Rekursion.
-\subsection*{libDUMA}
+\subsection{libDUMA}
Ein weiteres bekanntes Werkzeug zum Speicherdebugging ist eine Bibliothek
mit dem Namen DUMA. Hierbei handelt sich um einen Fork der bekannten
Electric Fence Libraries von Bruce Perence. DUMA ermöglicht es durch einfaches
@@ -412,7 +412,7 @@ DUMA\_ALLOW\_MALLOC\_0 & malloc() mit der Größe 0 als Fehler ausgeben\\
\end{center}
Es gibt noch viele andere Environment Variablen. Deren Bedeutung ist der
Manpage von libduma zu entnehmen: ''man duma''
-\subsection*{Valgrind}
+\subsection{Valgrind}
Valgrind ist das wohl mächtigste Werkzeug, das zur Analyse von Speicherproblemen
zur Verfügung steht. Es handelt sich um mehrere Werkzeuge, die unter anderem auch
Profiling Funkionaliät bieten. Valgrind erreicht eine sehr hohe Trefferquote. Leider
diff --git a/application-devel/devel-environment/handout_devel-environment_de.tex b/application-devel/devel-environment/handout_devel-environment_de.tex
index 18f724e..7ecaac4 100644
--- a/application-devel/devel-environment/handout_devel-environment_de.tex
+++ b/application-devel/devel-environment/handout_devel-environment_de.tex
@@ -6,7 +6,7 @@
\begin{document}
-\section*{Entwicklungsumgebung}
+\section{Entwicklungsumgebung}
Eine Entwicklungsumgebung besteht mindestens aus einem Editor und einem
Buildsystem. Eine Entwicklungsumgebung kann aber durchaus weitere Komponenten
@@ -22,7 +22,7 @@ In diesem Block wird auf die verschiedenen Komponenten einer
Entwicklungsumgebung eingegangen und Eclipse als prominenter Vertretter der
integrierten Entwicklungsumgebungen n\"ahers vorgestellt.
-\subsection*{Editoren}
+\subsection{Editoren}
Prinzipiell kann man zwischen textbasierten und grafischen Editoren
unterscheiden. Ein textbasierter Editor ist in der Regel nicht so intuitiv zu
@@ -75,7 +75,7 @@ Als grafischer Texteditor wird oft:
\end{itemize}
verwendet.
-\subsection*{Versionskontrolle}
+\subsection{Versionskontrolle}
Sinn einer Versionskontrolle ist die zentrale Verwaltung des Quellcodes (und
evt. der dazugeh\"origen Dokumentation) und ein Tracking der \"Anderungen.
@@ -89,9 +89,9 @@ entwickelt und eignet sich deshalb perfekt f\"ur die verteilte Entwicklung und
gro\ss e Teams.
\end{description}
-\subsection*{Integrierte Entwicklungs Umgebungen}
+\subsection{Integrierte Entwicklungs Umgebungen}
-\subsubsection*{Emacs}
+\subsubsection{Emacs}
Die GNU Emacs IDE kann in zwei verschiedenen Modi gestartet werden. Mit dem
Befehl \cmd{emacs} wird eine grafische Umgebung gestartet (Abbildung
@@ -119,13 +119,13 @@ erstellt werden.
\item Quellcode fixen, speichern, compilieren, \dots
\end{enumerate}
-\subsubsection*{Eclipse}
+\subsubsection{Eclipse}
Dieses Kapitel beschreibt die Entstehung und Prinzipien von Eclipse. An einigen
kurzen Beispielen, wird die grundlegende Bedienung einer Eclipse IDE
vorgestellt.
-\paragraph*{Allgemeines}
+\paragraph{Allgemeines}
Eclipse wurde urspr\"unglich von IBM entwickelt und im November 2001 als
open source offen gelegt. Eclipse ist in JAVA implementiert und arbeitet mit
diff --git a/hints_template.tex b/hints_template.tex
index 11c5c34..65237e0 100644
--- a/hints_template.tex
+++ b/hints_template.tex
@@ -6,20 +6,20 @@
\begin{document}
-\section*{Block \lq Was ist Linux?\rq}
+\section{Block \lq Was ist Linux?\rq}
-\subsection*{Lernziele}
+\subsection{Lernziele}
\begin{itemize}
\item Lernziel 1
\item Lernziel 2
\item Lernziel 3
\end{itemize}
-\subsection*{Unterrichts-Ablauf}
+\subsection{Unterrichts-Ablauf}
Hinweise zur Präsentation, Zeitplanung, etc.
-\subsection*{Übungen bei vorhandener Hardware}
+\subsection{Übungen bei vorhandener Hardware}
Hinweise zu Übungen, Zeitlimit dazu.