summaryrefslogtreecommitdiff
path: root/application-devel
diff options
context:
space:
mode:
Diffstat (limited to 'application-devel')
-rw-r--r--application-devel/app-debugging/handout_app-debugging_de.tex9
1 files changed, 6 insertions, 3 deletions
diff --git a/application-devel/app-debugging/handout_app-debugging_de.tex b/application-devel/app-debugging/handout_app-debugging_de.tex
index c73cdd0..a7e1fac 100644
--- a/application-devel/app-debugging/handout_app-debugging_de.tex
+++ b/application-devel/app-debugging/handout_app-debugging_de.tex
@@ -26,7 +26,7 @@ fstat(3, {st_mode=S_IFREG|0644, st_size=110532, ...}) = 0
mmap(NULL, 110532, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f32457e3000
close(3) = 0
\end{lstlisting}
-Strace besitzt eine Vielzahl von Commandlineparametern. Die wichtigsten
+Strace besitzt eine Vielzahl von Commandline\-para\-metern. Die wichtigsten
davon sind:\\
\begin{center}
\begin{tabular}{|c|p{5cm}|}
@@ -165,7 +165,7 @@ können hier verwendet werden:
\hline
\end{tabular}
\end{center}
-Folgendes Beispiel verdeutlich die Analyse eines core-Files:
+Folgendes Beispiel verdeutlicht die Analyse eines core-Files:
\begin{lstlisting}[language=c]
/* segfault.c */
#include <stdio.h>
@@ -266,7 +266,7 @@ Address Size Caller
[...]
\end{lstlisting}
\subsection*{GLIBC: Hooks für malloc()}
-Neben mtrace() sieht die GLIBC noch Hooks for, um Callbacks einzuhängen,
+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,
dynamische Speicherverwaltung individuell zu überwachen.\\
@@ -291,6 +291,9 @@ void *function (void *ptr, const void *caller)
/* function prototype */
void *function (size_t size, size_t alignment, const void *caller)
\end{lstlisting}
+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}
Ein weiteres bekanntes Werkzeug zum Speicherdebugging ist eine Bibliothek
mit dem Namen DUMA. Hierbei handelt sich um einen Fork der bekannten