Mobile/Fennec/Debugging: Difference between revisions
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> | |||
# | # break on fork calls | ||
(gdb) catch fork | (gdb) catch fork | ||
# | # 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> | </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