/
usr
/
share
/
doc
/
libfakeroot
/
/usr/share/doc/libfakeroot
mkdir
upload
Name
Size
Mode
Actions
changelog.Debian.gz
964
0644
edit
dl
rm
copyright
1108
0644
edit
dl
rm
DEBUG
1872
0644
edit
dl
rm
README
521
0644
edit
dl
rm
README.saving
2724
0644
edit
dl
rm
Edit:
/usr/share/doc/libfakeroot/DEBUG
(1872B)
To debug fakeroot, one may try: Start faked in xterm 1: $ faked --foreground --debug 51452231:280 # First number here is the 'FAKEROOTKEY', second is the pid of # faked. Both to be used later. # Later, when programs go using faked, a _lot_ of debug output # will be shown here. Send signals to faked in xterm 2: #Whenever you want to get info about the internal inode data #faked is keeping, do: kill -s USR1 280 And the 'real' program runs (at your choise) in another xterm [3], or gdb In an xterm, do: $ LD_PRELOAD=/usr/lib/libfakeroot/libfakeroot.so.0 $ FAKEROOTKEY=51452231 # number output by faked, xterm 1 $ export LD_PRELOAD FAKEROOTKEY $ my-prog #start anything you like. Or, if you want to run the programme in a gdb session: To make specifying the paths easier, put libfakeroot.c, libfakeroot.so.0.0.1 and the binary you want to run in the same directory (libfakeroot.so.0.0.1 is put in ./.libs/libfakeroot.so.0.0.1 by libtool during compilation, copy it out there). Then, in gdb do: $ gdb ./ls #as an example, I run 'ls'. (gdb) set env LD_PRELOAD=/home/joost/maintain/vpathlib/libfakeroot-0.1/libfakeroot.so.0.0.1 (gdb) set env FAKEROOTKEY=51452231 #number from xterm 1. # Or wherever you've got your libfakeroot.so.0.0.1 (gdb) break libfakeroot.c:181 Breakpoint 1 at 0x4000ecc8: file libfakeroot.c, line 181. (gdb) run -al Starting program: /home/joost/maintain/vpathlib/libfakeroot-0.1/ls -al Temporarily disabling shared library breakpoints: 1 Breakpoint 1, __lxstat (ver=134556187, file_name=0x0, statbuf=0x80529c8) at libfakeroot.c:208 208 struct stat *statbuf){ # OK, and there I've found a bug -- ver can only be '0' in the # current libc6 (glibc2). Unfortunately, it didn't reproduce.
Save
cmd:
run