Hello!
On Wed, Aug 20, 2014 at 5:22 PM, Sl wrote:
> Thanks. I have been using your script. It works nicely for kernel. But for
> user land, systemtap with the script cannot recognize the symbols, so I just
> got a bunch of hex numbers.
Ensure your application and *all* of its DSO libraries loaded have
been compiled by the -g option.
For system libraries like libc and libc++, you need to install their
debuginfo packages.
Usually when systemtap find something missing debug symols, it will
complain in its stderr output. Watch all the output while running my
script for any hints.
Another possibility is some machine code in your process is generated
on-the-fly, by some JIT compilers like PCRE JIT, JVM, and LuaJIT.
Also, you may want to try DWARF-2 (which is the default version used
by gcc before its 4.8 series) because DWARF-4 is still new and
something along the toolchain (gcc/g++ and stap) may not fully support
it.
> Do I
> need to use special gcc/g++ flag to generate special symbols?
>
No.
Regards,
-agentzh