~ubuntu-branches/ubuntu/quantal/libbonobo/quantal-201207170711

« back to all changes in this revision

Viewing changes to doc/api/html/debugging.html

  • Committer: Bazaar Package Importer
  • Author(s): Josselin Mouette
  • Date: 2009-09-26 01:14:29 UTC
  • mfrom: (1.2.2 upstream)
  • mto: (3.1.5 sid)
  • mto: This revision was merged to the branch mainline in revision 38.
  • Revision ID: james.westby@ubuntu.com-20090926011429-0yhx3o44d8xve7kw
Tags: upstream-2.24.2
ImportĀ upstreamĀ versionĀ 2.24.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
<head>
4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
<title>Debugging</title>
6
 
<meta name="generator" content="DocBook XSL Stylesheets V1.74.2">
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7
7
<link rel="home" href="index.html" title="Libbonobo Reference Manual">
8
8
<link rel="up" href="misc.html" title="Miscellaneous">
9
9
<link rel="prev" href="misc.html" title="Miscellaneous">
27
27
<th width="100%" align="center">Libbonobo Reference Manual</th>
28
28
<td><a accesskey="n" href="libbonobo-faq.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
29
29
</tr></table>
30
 
<div class="refentry" lang="en">
 
30
<div class="refentry" title="Debugging">
31
31
<a name="debugging"></a><div class="titlepage"></div>
32
 
<div class="refsect1" lang="en">
33
 
<a name="id3082675"></a><h2>Debugging</h2>
 
32
<div class="refsect1" title="Debugging">
 
33
<a name="id3054382"></a><h2>Debugging</h2>
34
34
<p>Bonobo component debugging advice, version 0.1
35
35
            by Michael Meeks &lt;mmeeks@gnu.org&gt;</p>
36
36
<p>Since it is not transparently obvious how to debug
37
37
            Bonobo components the following suggestions may be of use.</p>
38
 
<div class="refsect2" lang="en">
39
 
<a name="id3082692"></a><h3>Read the FAQ</h3>
 
38
<div class="refsect2" title="Read the FAQ">
 
39
<a name="id3054398"></a><h3>Read the FAQ</h3>
40
40
<p>This will cover particularly common errors and their
41
41
                solutions obviating the need for further debugging.</p>
42
42
</div>
43
43
<hr>
44
 
<div class="refsect2" lang="en">
45
 
<a name="id3083777"></a><h3>Versions</h3>
 
44
<div class="refsect2" title="Versions">
 
45
<a name="id3055480"></a><h3>Versions</h3>
46
46
<p> It is vital to ensure that the correct versions of
47
47
                both the component and the container are being
48
48
                run. The safest way to make sure this is the case is
50
50
<span class="command"><strong> ./bonobo-my-component &amp; ./my-test-container </strong></span>
51
51
</div>
52
52
<hr>
53
 
<div class="refsect2" lang="en">
54
 
<a name="id3083795"></a><h3>Correct install</h3>
 
53
<div class="refsect2" title="Correct install">
 
54
<a name="id3055498"></a><h3>Correct install</h3>
55
55
<p>It is rather important to make sure that bonobo has
56
56
                compiled and installed correctly. If you are using CVS
57
57
                ensure that your bonobo has installed without errors
58
58
                and that you have run ldconfig.</p>
59
59
</div>
60
60
<hr>
61
 
<div class="refsect2" lang="en">
62
 
<a name="id3083807"></a><h3>Stale processes</h3>
 
61
<div class="refsect2" title="Stale processes">
 
62
<a name="id3055511"></a><h3>Stale processes</h3>
63
63
<p>It is a good idea to check there are no stale
64
64
                component processes running in the background, check
65
65
                with</p>
67
67
<span class="command"><strong>bonobo-slay</strong></span>
68
68
</div>
69
69
<hr>
70
 
<div class="refsect2" lang="en">
71
 
<a name="id3083833"></a><h3>Debugging</h3>
 
70
<div class="refsect2" title="Debugging">
 
71
<a name="id3055537"></a><h3>Debugging</h3>
72
72
<p>So: debugging. The best way to do this is to have
73
73
                two X-terms, in one run the component:</p>
74
74
<span class="command"><strong><pre class="screen">
94
94
                eg. '<code class="literal">libtool gdb $@</code>'</p>
95
95
</div>
96
96
<hr>
97
 
<div class="refsect2" lang="en">
98
 
<a name="id3083910"></a><h3>CORBA method tracing</h3>
 
97
<div class="refsect2" title="CORBA method tracing">
 
98
<a name="id3055614"></a><h3>CORBA method tracing</h3>
99
99
<p>There is beautiful built in ORBit2 method tracing
100
100
                facility that will show you all CORBA invocations,
101
101
                their objects, arguments, microsecond timestamps
106
106
                flag. See the ORBit2 FAQ for more info.</p>
107
107
</div>
108
108
<hr>
109
 
<div class="refsect2" lang="en">
110
 
<a name="id3083930"></a><h3>Order of execution</h3>
 
109
<div class="refsect2" title="Order of execution">
 
110
<a name="id3055633"></a><h3>Order of execution</h3>
111
111
<p>It is of course important to ensure that the
112
112
                component has registered before executing the
113
113
                container.  A good guide is to wait until your hard
115
115
                container.</p>
116
116
</div>
117
117
<hr>
118
 
<div class="refsect2" lang="en">
119
 
<a name="id3083942"></a><h3>Nothing will activate!</h3>
 
118
<div class="refsect2" title="Nothing will activate!">
 
119
<a name="id3055646"></a><h3>Nothing will activate!</h3>
120
120
<span class="command"><strong><pre class="screen">
121
121
export BONOBO_ACTIVATION_DEBUG_OUTPUT=1
122
122
bonobo-slay
125
125
                this will show you. </p>
126
126
</div>
127
127
<hr>
128
 
<div class="refsect2" lang="en">
129
 
<a name="id3083964"></a><h3>Nothing seems to happen, the code just locks</h3>
 
128
<div class="refsect2" title="Nothing seems to happen, the code just locks">
 
129
<a name="id3055667"></a><h3>Nothing seems to happen, the code just locks</h3>
130
130
<p>Check that you are doing either a
131
131
                <code class="function">bonobo_main()</code> or a
132
132
                <code class="function">bonobo_activate()</code> followed by
137
137
                and component.</p>
138
138
</div>
139
139
<hr>
140
 
<div class="refsect2" lang="en">
141
 
<a name="id3083995"></a><h3>Getting more information</h3>
 
140
<div class="refsect2" title="Getting more information">
 
141
<a name="id3055699"></a><h3>Getting more information</h3>
142
142
<p>If you are doing serious development consider
143
143
                compiling gtk+, glib and bonobo with debugging
144
144
                symbols:</p>
150
150
                process.</p>
151
151
</div>
152
152
<hr>
153
 
<div class="refsect2" lang="en">
154
 
<a name="id3084034"></a><h3>Debugging bonobo-activation</h3>
 
153
<div class="refsect2" title="Debugging bonobo-activation">
 
154
<a name="id3055738"></a><h3>Debugging bonobo-activation</h3>
155
155
<p> This is often best done by running: </p>
156
156
<span class="command"><strong><pre class="screen">
157
157
gdb ./bonobo-activation
161
161
                /tmp/orbit-$USER/reg:...-local.</p>
162
162
</div>
163
163
<hr>
164
 
<div class="refsect2" lang="en">
165
 
<a name="id3084059"></a><h3>The last resort</h3>
 
164
<div class="refsect2" title="The last resort">
 
165
<a name="id3055763"></a><h3>The last resort</h3>
166
166
<p>And finally when the handfuls of hair are coming out
167
167
                thick and fast, consider reading the source, it only
168
168
                looks scary, it won't bite.</p>
169
169
</div>
170
170
<hr>
171
 
<div class="refsect2" lang="en">
172
 
<a name="id3084070"></a><h3>Talk to the experts.</h3>
 
171
<div class="refsect2" title="Talk to the experts.">
 
172
<a name="id3055774"></a><h3>Talk to the experts.</h3>
173
173
<p> Try reading the mailing list <a class="ulink" href="http://www.gnome.org/mailing-lists/archives/gnome-components-list/" target="_top">
174
174
            archive </a>.  </p>
175
175
<p>