Better comment for new shared library feature

master
Marc Wäckerlin 20 years ago
parent 5b2783e877
commit 529409a82a
  1. 47
      mrw/stacktrace.hpp

@ -9,6 +9,9 @@
@license LGPL, see file <a href="license.html">COPYING</a>
$Log$
Revision 1.8 2004/10/11 16:49:32 marc
Better comment for new shared library feature
Revision 1.7 2004/10/11 15:58:51 marc
First version with working support for shared libraries!
@ -187,30 +190,41 @@ namespace mrw {
static CodePos translate(void* addr)
throw(std::bad_exception);
/** @brief read the symbol table from the executable file
/** @brief read the symbol table from the executable file or a
shared library
On Solaris and Linux, the name of the executable is
automatically detected through the @c /dev/proc file
system. Only on Linux the shared libraries are detected
through a call to @c ldd. So you may leave the parameter
empty on these systems.
@param fname The file name of the executable. On Linux
and Solaris, this can be evaluated automatically, so the
parameter is optional.
@param fname The file name of the executable or a shared
library. On Linux and Solaris, this can be evaluated
automatically, so the parameter is optional.
@param offs Offset of the address space. It is 0 for
executables, but must be given for shared libraries.
executables, but must be given for shared libraries. Use @c
ldd on the executable to find out the offset.
@return @c true in case of success. If @c false is returned,
the symbol table was not read and the evaluation cannot be
done. Printing then only prints the raw addresses, without
file, line nmber information and method names.
@note This method must be executed once before a stack trace
is printed the very first time. For storing a stack trace
(that means for the creation of a mrw::StackTrace object) a
call to this method is not yet needed.
@note createSymtable must be executed at least once before a
stack trace is printed the very first time. For storing a
stack trace (that means for the creation of a
mrw::StackTrace object) a call to this method is not yet
needed.
@note Call only one of both createSymtable methods!
@note In general, call only one of both createSymtable
methods! But instead of callin the other method once, you
may also call this one several times.
@note If this method is called more than once, the symbols
are created only the first time, so you don't loose too much
time.
@note If this method is called more than once for the same
file, the symbols are created only the first time, so you
don't loose too much time.
*/
static bool createSymtable(const std::string& fname="", void* offs=0)
throw(std::bad_exception);
@ -234,11 +248,10 @@ namespace mrw {
(that means for the creation of a mrw::StackTrace object) a
call to this method is not yet needed.
@note Call only one of both createSymtable methods!
@note In general, call only one of both createSymtable methods!
@note If this method is called more than once, the symbols
are created only the first time, so you don't loose too much
time.
@note This method calls the other one for all files in
parameter @c files.
*/
static bool createSymtable(const BinFiles& files) throw(std::bad_exception);

Loading…
Cancel
Save