mozilla

Compare Revisions

Debugging Mozilla with gdb

Change Revisions

Revision 489865:

Revision 489865 by luke@mozilla.com on

Revision 492303:

Revision 492303 by AndrewSutherland on

Title:
Debugging Mozilla with gdb
Debugging Mozilla with gdb
Slug:
Debugging_Mozilla_with_gdb
Debugging_Mozilla_with_gdb
Content:

Revision 489865
Revision 492303
nn31    <p>
32      The preferred way is to use the <a href="/en-US/docs/Develo
 >per_Guide/mach">mach</a> command-line tool to help run the debugg
 >er.&nbsp; It takes care of passing several useful defaults that y
 >ou can optionally disable.&nbsp; Use "mach help debug" to get mor
 >e details.&nbsp; If you are in the source directory, you would us
 >e "./mach".&nbsp; If you have <a href="/en-US/docs/Developer_Guid
 >e/mach#Adding_mach_to_your_shell's_search_path">added mach to you
 >r path</a>, then you can just use "mach".&nbsp; (Note that <a hre
 >f="/en-US/docs/Developer_Guide/mach#mach_and_mozconfigs">mach is 
 >aware of mozconfigs</a>.)
33    </p>
nn35$ ./mach debug [arguments to pass to firefox]
36</pre>
37    <p>
38      If you would like to pass arguments to gdb itself, you can 
 >use the "+gdbparams" option whose argument is run through the pym
 >ake command line parser which uses Bourne shell splitting rules.&
 >nbsp; For example, if you wanted to run the command "show args" o
 >nce gdb starts up, you would do:
39    </p>
40    <pre class="eval">
41$ ./mach debug +gdbparams "-ex 'show args'"
42</pre>
43    <p>
44      Alternatively, you can just run gdb directly against Firefo
 >x.&nbsp; The downside is that you won't get magic stuff for free.
 >&nbsp; For example, mach sets an environment variable (see later 
 >on this page) to stop the JS engine from generating synthetic seg
 >faults to support the slow script dialog mechanism.&nbsp; It will
 > likely also grow other useful capabilities.
45    </p>
46    <pre class="eval">
32$ gdb mozilla/dist/bin/firefox47$ gdb OBJDIR/dist/bin/firefox
t307    <h3 name="I_keep_getting_a_SIG32_in_the_debugger._How_do_I_fit322    <h3 id="I_keep_getting_a_SIG32_in_the_debugger._How_do_I_fix_
>x_it.3F">>it.3F" name="I_keep_getting_a_SIG32_in_the_debugger._How_do_I_fix
 >_it.3F">

Back to History