Revision 15503,
969 bytes
checked in by ghudson, 24 years ago
(diff) |
This commit was generated by cvs2svn to compensate for changes in r15502,
which included commits to RCS files with non-trunk default branches.
|
Line | |
---|
1 | |
---|
2 | Oaf debugging advice, version 0.1 |
---|
3 | |
---|
4 | |
---|
5 | Since it is not transparently obvious how to debug oaf the following |
---|
6 | suggestions may be of use. |
---|
7 | |
---|
8 | |
---|
9 | * Attach the debugger. |
---|
10 | |
---|
11 | It is not possible to run oaf in the debugger, instead you |
---|
12 | must activate oaf by doing a valid query; then attach the debugger |
---|
13 | to the process; |
---|
14 | |
---|
15 | This might be done like this; |
---|
16 | |
---|
17 | make install # this installs oaf where it can be run |
---|
18 | killall -9 oafd # asasinate any stale oafd |
---|
19 | |
---|
20 | oaf-run-query "repo_ids.has('foo')" # fire up a lurking oafd. |
---|
21 | |
---|
22 | ps -ax | grep oafd # get the <pid> of oafd |
---|
23 | libtool gdb ./oafd # start gdb on oafd |
---|
24 | attach <pid> # attach to the pid of the oaf daemon. |
---|
25 | |
---|
26 | |
---|
27 | * OAF_BARRIER_INIT |
---|
28 | |
---|
29 | Set this environment variable to 1. Anything using OAF will |
---|
30 | then hang in `oaf_init'. You can then attach to the process and |
---|
31 | execute the gdb command |
---|
32 | |
---|
33 | p barrier=0 |
---|
34 | |
---|
35 | After which you can set breakpoints to taste, or single-step. This is |
---|
36 | really useful for debugging the initial startup of oafd. |
---|
37 | |
---|
38 | |
---|
Note: See
TracBrowser
for help on using the repository browser.