/usr/share/doc/gamin
NameSizeModeActions
AUTHORS1530644editdlrm
callbacks.gif45140644editdlrm
ChangeLog832560644editdlrm
client_server.gif46240644editdlrm
config.html68830644editdlrm
contacts.html53580644editdlrm
debug.html73730644editdlrm
debugging.txt12880644editdlrm
devel.html49680644editdlrm
differences.html67690644editdlrm
downloads.html42000644editdlrm
FAQ.html39630644editdlrm
gamin.html323850644editdlrm
index.html81040644editdlrm
internals.html54200644editdlrm
NEWS97100644editdlrm
news.html144560644editdlrm
overview.html53240644editdlrm
python.html62920644editdlrm
README15160644editdlrm
security.html67680644editdlrm
server_structs.gif88800644editdlrm
socket.txt16300644editdlrm
TODO26540644editdlrm
using.html40960644editdlrm
Edit: /usr/share/doc/gamin/debugging.txt (1288B)
Debugging support in gamin: Both the client and server side, if compiled with debug support accept an environment variable GAM_DEBUG which is set will make them report debugging informations to stdout. Usually for debugging you also want to use a dedicated server process so setting the GAM_CLIENT_ID environment allows to ensure this. Usually one also want to keep control over the server lifetime and not have it exit automatically after 30 seconds without connection, there is a command line flag --notimeout to gam_server for this. a typical example of a debugging session using 2 shells would be shell1: export GAM_DEBUG= shell1: gam_server --notimeout test running the server in debug mode using the ID "test" shell2: export GAM_DEBUG= shell2: export GAM_CLIENT_ID=test shell2: gamin_client this will run a verbose session. It is perfectly possible to also run the client under a debugger, for the server it works too except the dnotify kernel interface uses a signal SIG33 which is trapped by gdb. To avoid this use the handle gdb instruction: (gdb) handle SIG33 nostop Signal Stop Print Pass to program Description SIG33 No Yes Yes Real-time event 33 (gdb) even better add it to your $HOME/.gdbinit Daniel Veillard $id$