[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: profiling my own shared libraries
From: |
Peter Bienstman |
Subject: |
Re: profiling my own shared libraries |
Date: |
13 Dec 2001 10:39:42 -0500 |
On Wed, 2001-12-12 at 18:39, Andreas Jaeger wrote:
> Peter Bienstman <address@hidden> writes:
>
> > Hi,
> >
> > I'm able to profile system shared libraries with sprof, e.g.
> >
> > LD_PROFILE=glibc.so.6
> > <run program>
> > ls /var/tmp
> > sprof ...
> >
> > However, for my own shared library (a Python extension module), no
> > output is produced in /var/tmp
>
> Is it loaded? Did you specify the correct name? Try LD_DEBUG=files
> (or libs) in the environment (LD_DEBUG=help ls gives help).
I assume so (this is with g++ 3.0.1, binutils 2.11.90.0.8, Mandrake
8.1):
$export LD_DEBUG=files
$export LD_PROFILE=camfr_work.so
$rect.py 2>o
<program runs normally>
$cat o
03513:
03513: file=libc.so.6; needed by /usr/bin/env
03513: file=libc.so.6; generating link map
03513: dynamic: 0x40163a6c base: 0x4002a000 size: 0x0013dd28
03513: entry: 0x400466b0 phdr: 0x4002a034 phnum: 6
03513:
03513:
03513: calling init: /lib/libc.so.6
03513:
03513:
03513: initialize program: /usr/bin/env
03513:
03513:
03513: transferring control: /usr/bin/env
03513:
03513:
03513: file=libpthread.so.0; needed by python
03513: file=libpthread.so.0; generating link map
03513: dynamic: 0x400401a8 base: 0x4002a000 size: 0x0001641c
03513: entry: 0x4002f020 phdr: 0x4002a034 phnum: 6
03513:
03513:
03513: file=libdl.so.2; needed by python
03513: file=libdl.so.2; generating link map
03513: dynamic: 0x40044068 base: 0x40041000 size: 0x0000317c
03513: entry: 0x40042df0 phdr: 0x40041034 phnum: 6
03513:
03513:
03513: file=libutil.so.1; needed by python
03513: file=libutil.so.1; generating link map
03513: dynamic: 0x40047a14 base: 0x40045000 size: 0x00002b0c
03513: entry: 0x40045dc0 phdr: 0x40045034 phnum: 6
03513:
03513:
03513: file=libreadline.so.4.2; needed by python
03513: file=libreadline.so.4.2; generating link map
03513: dynamic: 0x4006ec10 base: 0x40048000 size: 0x00027a50
03513: entry: 0x40052350 phdr: 0x40048034 phnum: 3
03513:
03513:
03513: file=libtermcap.so.2; needed by python
03513: file=libtermcap.so.2; generating link map
03513: dynamic: 0x4007399c base: 0x40070000 size: 0x00003af4
03513: entry: 0x40070db0 phdr: 0x40070034 phnum: 3
03513:
03513:
03513: file=libnsl.so.1; needed by python
03513: file=libnsl.so.1; generating link map
03513: dynamic: 0x40088b0c base: 0x40075000 size: 0x00015d7c
03513: entry: 0x40078f20 phdr: 0x40075034 phnum: 6
03513:
03513:
03513: file=libtk8.3.so; needed by python
03513: file=libtk8.3.so; generating link map
03513: dynamic: 0x40144e24 base: 0x4008b000 size: 0x000bac64
03513: entry: 0x400a0dc0 phdr: 0x4008b034 phnum: 3
03513:
03513:
03513: file=libtcl8.3.so; needed by python
03513: file=libtcl8.3.so; generating link map
03513: dynamic: 0x401d3114 base: 0x40146000 size: 0x0008dc24
03513: entry: 0x40156420 phdr: 0x40146034 phnum: 3
03513:
03513:
03513: file=libX11.so.6; needed by python
03513: file=libX11.so.6; generating link map
03513: dynamic: 0x402bd3f0 base: 0x401d4000 size: 0x000e99d8
03513: entry: 0x401e7fd0 phdr: 0x401d4034 phnum: 3
03513:
03513:
03513: file=libz.so.1; needed by python
03513: file=libz.so.1; generating link map
03513: dynamic: 0x402cc380 base: 0x402be000 size: 0x0000e470
03513: entry: 0x402bfe90 phdr: 0x402be034 phnum: 3
03513:
03513:
03513: file=libm.so.6; needed by python
03513: file=libm.so.6; generating link map
03513: dynamic: 0x402ef85c base: 0x402cd000 size: 0x00022994
03513: entry: 0x402d18e0 phdr: 0x402cd034 phnum: 6
03513:
03513:
03513: file=libc.so.6; needed by python
03513: file=libc.so.6; generating link map
03513: dynamic: 0x40429a6c base: 0x402f0000 size: 0x0013dd28
03513: entry: 0x4030c6b0 phdr: 0x402f0034 phnum: 6
03513:
03513:
03513: calling init: /lib/libpthread.so.0
03513:
03513:
03513: calling init: /lib/libc.so.6
03513:
03513:
03513: calling init: /lib/libm.so.6
03513:
03513:
03513: calling init: /lib/libz.so.1
03513:
03513:
03513: calling init: /usr/X11R6/lib/libX11.so.6
03513:
03513:
03513: calling init: /lib/libnsl.so.1
03513:
03513:
03513: calling init: /lib/libtermcap.so.2
03513:
03513:
03513: calling init: /lib/libreadline.so.4.2
03513:
03513:
03513: calling init: /lib/libutil.so.1
03513:
03513:
03513: calling init: /lib/libdl.so.2
03513:
03513:
03513: calling init: /usr/lib/libtk8.3.so
03513:
03513:
03513: calling init: /usr/lib/libtcl8.3.so
03513:
03513:
03513: initialize program: python
03513:
03513:
03513: transferring control: python
03513:
03513: file=/home/pbienst/local/lib/python2.1/site-packages/camfr_work.so;
generating link map
03513: dynamic: 0x40881908 base: 0x4044a000 size: 0x00441504
03513: entry: 0x405335f0 phdr: 0x4044a034 phnum: 3
03513:
03513:
03513: file=libstdc++.so.3; needed by
/home/pbienst/local/lib/python2.1/site-packages/camfr_work.so
03513: file=libstdc++.so.3; generating link map
03513: dynamic: 0x4092ac74 base: 0x4088c000 size: 0x0009ff60
03513: entry: 0x408c7a70 phdr: 0x4088c034 phnum: 3
03513:
03513:
03513: file=libgcc_s.so.1; needed by
/home/pbienst/local/lib/python2.1/site-packages/camfr_work.so
03513: file=libgcc_s.so.1; generating link map
03513: dynamic: 0x4001e49c base: 0x40017000 size: 0x000075b8
03513: entry: 0x400180d0 phdr: 0x40017034 phnum: 3
03513:
03513:
03513: calling init: /home/pbienst/local/lib/libgcc_s.so.1
03513:
03513:
03513: calling init: /home/pbienst/local/lib/libstdc++.so.3
03513:
03513:
03513: calling init:
/home/pbienst/local/lib/python2.1/site-packages/camfr_work.so
03513:
03513: opening
file=/home/pbienst/local/lib/python2.1/site-packages/camfr_work.so; opencount
== 1
03513:
03513: file=/home/pbienst/local/lib/python2.1/site-packages/Numeric/_numpy.so;
generating link map
03513: dynamic: 0x4093e034 base: 0x4092c000 size: 0x00012260
03513: entry: 0x4092ee70 phdr: 0x4092c034 phnum: 3
03513:
03513:
03513: calling init:
/home/pbienst/local/lib/python2.1/site-packages/Numeric/_numpy.so
03513:
03513: opening
file=/home/pbienst/local/lib/python2.1/site-packages/Numeric/_numpy.so;
opencount == 1
03513:
03513:
file=/home/pbienst/local/lib/python2.1/site-packages/Numeric/multiarray.so;
generating link map
03513: dynamic: 0x400268ac base: 0x40020000 size: 0x000069ac
03513: entry: 0x40021560 phdr: 0x40020034 phnum: 3
03513:
03513:
03513: calling init:
/home/pbienst/local/lib/python2.1/site-packages/Numeric/multiarray.so
03513:
03513: opening
file=/home/pbienst/local/lib/python2.1/site-packages/Numeric/multiarray.so;
opencount == 1
03513:
03513: file=/home/pbienst/local/lib/python2.1/site-packages/Numeric/umath.so;
generating link map
03513: dynamic: 0x4094b7c0 base: 0x4093f000 size: 0x0000c8bc
03513: entry: 0x40940bb0 phdr: 0x4093f034 phnum: 3
03513:
03513:
03513: calling init:
/home/pbienst/local/lib/python2.1/site-packages/Numeric/umath.so
03513:
03513: opening
file=/home/pbienst/local/lib/python2.1/site-packages/Numeric/umath.so;
opencount == 1
03513:
03513: file=/home/pbienst/local/lib/python2.1/lib-dynload/strop.so;
generating link map
03513: dynamic: 0x40951c34 base: 0x4094c000 size: 0x00005d20
03513: entry: 0x4094d140 phdr: 0x4094c034 phnum: 3
03513:
03513:
03513: calling init: /home/pbienst/local/lib/python2.1/lib-dynload/strop.so
03513:
03513: opening file=/home/pbienst/local/lib/python2.1/lib-dynload/strop.so;
opencount == 1
03513:
03513:
file=/home/pbienst/local/lib/python2.1/site-packages/Numeric/lapack_lite.so;
generating link map
03513: dynamic: 0x409f09b4 base: 0x40952000 size: 0x00105a80
03513: entry: 0x409563d0 phdr: 0x40952034 phnum: 3
03513:
03513:
03513: calling init:
/home/pbienst/local/lib/python2.1/site-packages/Numeric/lapack_lite.so
03513:
03513: opening
file=/home/pbienst/local/lib/python2.1/site-packages/Numeric/lapack_lite.so;
opencount == 1
03513:
03513: file=/home/pbienst/local/lib/python2.1/site-packages/Numeric/ranlib.so;
generating link map
03513: dynamic: 0x40a60910 base: 0x40a58000 size: 0x00009268
03513: entry: 0x40a59710 phdr: 0x40a58034 phnum: 3
03513:
03513:
03513: calling init:
/home/pbienst/local/lib/python2.1/site-packages/Numeric/ranlib.so
03513:
03513: opening
file=/home/pbienst/local/lib/python2.1/site-packages/Numeric/ranlib.so;
opencount == 1
03513:
03513:
03513: calling fini: /lib/libpthread.so.0
03513:
03513:
03513: calling fini: /usr/lib/libtk8.3.so
03513:
03513:
03513: calling fini: /usr/lib/libtcl8.3.so
03513:
03513:
03513: calling fini: /lib/libdl.so.2
03513:
03513:
03513: calling fini: /lib/libutil.so.1
03513:
03513:
03513: calling fini: /lib/libreadline.so.4.2
03513:
03513:
03513: calling fini: /lib/libtermcap.so.2
03513:
03513:
03513: calling fini: /lib/libnsl.so.1
03513:
03513:
03513: calling fini: /usr/X11R6/lib/libX11.so.6
03513:
03513:
03513: calling fini: /lib/libz.so.1
03513:
03513:
03513: calling fini:
/home/pbienst/local/lib/python2.1/site-packages/camfr_work.so
03513:
03513:
03513: calling fini: /home/pbienst/local/lib/libstdc++.so.3
03513:
03513:
03513: calling fini:
/home/pbienst/local/lib/python2.1/site-packages/Numeric/umath.so
03513:
03513:
03513: calling fini: /lib/libm.so.6
03513:
03513:
03513: calling fini:
/home/pbienst/local/lib/python2.1/site-packages/Numeric/_numpy.so
03513:
03513:
03513: calling fini:
/home/pbienst/local/lib/python2.1/site-packages/Numeric/multiarray.so
03513:
03513:
03513: calling fini: /home/pbienst/local/lib/python2.1/lib-dynload/strop.so
03513:
03513:
03513: calling fini:
/home/pbienst/local/lib/python2.1/site-packages/Numeric/lapack_lite.so
03513:
03513:
03513: calling fini:
/home/pbienst/local/lib/python2.1/site-packages/Numeric/ranlib.so
03513:
03513:
03513: calling fini: /home/pbienst/local/lib/libgcc_s.so.1
03513:
03513:
03513: calling fini: /lib/libc.so.6
03513:
pgppRL27eBrUm.pgp
Description: PGP signature