Mobile/Fennec/Debugging: Difference between revisions

From MozillaWiki
< Mobile‎ | Fennec
Jump to navigation Jump to search
No edit summary
No edit summary
Line 6: Line 6:


once inside gdb  
once inside gdb  
 
<pre>
#this will break on fork calls
# break on fork calls
 
(gdb) catch fork  
(gdb) catch fork  


#this will break on exec calls
# break on exec calls
 
(gdb) catch exec  
(gdb) catch exec  


Line 18: Line 16:


#the first fork will be for glx probing and can be ignor
#the first fork will be for glx probing and can be ignor
(gdb) continue  
(gdb) continue  


#the next fork is the content process, make sure we follow into it
#the next fork is the content process, make sure we follow into it
(gdb) set follow-fork-mode child (gdb) continue  
(gdb) set follow-fork-mode child (gdb) continue  


#this will break on the exec
#this will break on the exec
(gdb) break some_function_in_the content process  
(gdb) break some_function_in_the content process  
<pre>sdqwd
</pre>
</pre>

Revision as of 05:48, 19 May 2011

Debugging Fennec can be trickier than Firefox because it uses multiple processes.

For example to debug reftests in fennec on desktop linux the following recipe works:

python runreftest.py --debugger=gdb TEST_PATH/reftest.list

once inside gdb

# break on fork calls
(gdb) catch fork 

# break on exec calls
(gdb) catch exec 

(gdb) run 

#the first fork will be for glx probing and can be ignor
(gdb) continue 

#the next fork is the content process, make sure we follow into it
(gdb) set follow-fork-mode child (gdb) continue 

#this will break on the exec
(gdb) break some_function_in_the content process