libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libunwind-devel] retrieving symbols


From: Harald Servat
Subject: Re: [Libunwind-devel] retrieving symbols
Date: Thu, 12 Jan 2012 09:58:14 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; ca-valencia; rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Steve,

Al 12/01/12 01:30, En/na Steve Fink ha escrit:
> With the current API, it seems like the only way to map return
> addresses to symbols is to do it during iteration
> (unw_get_proc_info(), which takes a cursor.) This is awkward for
> things like profilers, where you want to quickly capture a bunch of
> stack traces (probably during a signal handler), and then analyze them
> later in aggregate. You might, for example, want to eliminate
> duplicate PCs before looking up symbols. Or only look up symbols for a
> subset of the stack samples (perhaps you're keeping a circular buffer
> of samples and only analyzing samples preceding events of interest.)

  I'd like to see something similar. In our current approach, we did
some coding on top of the libbfd and liberty libraries doing a work
which would be similar to addr2line -e (all three from binutils). This
would somewhat "useless" if libunwind can make it.

  Also, libbfd & liberty provide information such  routine, file and
line numbers. What does libunwind provide?

> How difficult would it be to support address -> symbol lookup without
> a cursor? (Or is it there, and I'm missing it?) Right now, I'm using
> dladdr(), which requires linking in a way that I can't really do. And
> I don't really want to popen addr2line.

  I've read Arun's answer in your other mail. However, I see a drawback
there in our specific situation. In our case, the binary that generates
the final tracefile is not the analyzed application but a secondary
application. Thus we don't have the chance to use unw_set_reg because
the process image is not the same as the one it was being executed. In
fact, the analyzed application binary is received as a parameter and
passed to bfd_open.

  It would be great if we could rid off bfd/liberty! :)

Regards.


> _______________________________________________
> Libunwind-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/libunwind-devel

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.15 (GNU/Linux)

iEYEARECAAYFAk8OoKYACgkQwMPeuqUCg9wJnACeNhya2KDlwZgERd07EVLAQqy2
/lcAnRoOb2UC9v3wM9/Bq5TyX5UoO2L/
=FBix
-----END PGP SIGNATURE-----

WARNING / LEGAL TEXT: This message is intended only for the use of the
individual or entity to which it is addressed and may contain
information which is privileged, confidential, proprietary, or exempt
from disclosure under applicable law. If you are not the intended
recipient or the person responsible for delivering the message to the
intended recipient, you are strictly prohibited from disclosing,
distributing, copying, or in any way using this message. If you have
received this communication in error, please notify the sender and
destroy and delete any copies you may have received.

http://www.bsc.es/disclaimer.htm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]