Mobile/Fennec/Debugging: Difference between revisions

From MozillaWiki
< Mobile‎ | Fennec
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
See [[Mobile/Fennec/Android/GDB|Debugging Fennec with GDB]].
Debugging Fennec can be trickier than Firefox because it uses multiple processes.  
Debugging Fennec can be trickier than Firefox because it uses multiple processes.  


Line 6: Line 8:


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 18:


#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>

Latest revision as of 16:18, 10 July 2014

See Debugging Fennec with GDB.

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