aboutsummaryrefslogtreecommitdiffhomepage
path: root/trace_profile/ltrace.html
diff options
context:
space:
mode:
Diffstat (limited to 'trace_profile/ltrace.html')
-rw-r--r--trace_profile/ltrace.html14
1 files changed, 14 insertions, 0 deletions
diff --git a/trace_profile/ltrace.html b/trace_profile/ltrace.html
index ff424d0..d055b19 100644
--- a/trace_profile/ltrace.html
+++ b/trace_profile/ltrace.html
@@ -162,11 +162,25 @@
-o <file> ... log output into <file>
-l <filter> . show who calls into lib matched by <filter>
-C .......... demangle
+ -x <filter> . which symbol table entry points to trace
+ (can be of form sym_pattern@lib_pattern)
</code></pre>
<h1 id="example"><a class="header" href="#example">Example</a></h1>
<p>List which program/libs call into <code>libstdc++</code>:</p>
<pre><code class="language-bash">ltrace -l '*libstdc++*' -C -o ltrace.log ./main
</code></pre>
+<p>Trace symbols from <code>dlopen(3)</code>ed libraries.</p>
+<pre><code class="language-bash"># Assume libfoo.so would be dynamically loaded via dlopen.
+ltrace -x '@libfoo.so'
+
+# Trace all dlopened symbols.
+ltrace -x '*'
+# Trace all symbols from dlopened libraries which name match the
+# pattern "liby*".
+ltrace -x '@liby*'
+# Trace symbol "foo" from all dlopened libraries matching the pattern.
+ltrace -x 'foo@liby*'
+</code></pre>
</main>