|boss, de bug! de bug!
|Submitted by Paul Phillips <email@example.com> to Development and Tools.|
It can be pretty hairy tracking down bugs in a project the size of Mozilla. Hell, I don't know for sure whether that's true because I haven't come within a country mile of that much source, but I'll bet my intuition is on the mark.
What can we do to make debugging Mozilla easier? For one, users ought to be able to kick the client into logging its activities at various levels of verbosity. Wouldn't it be cool if a user could, after encountering a reproducible problem, flip a switch and reproduce the problem, causing the following steps to take place by magic. I'm going to pose this in UNIX terms because that's what I know, I imagine similar interesting information could be acquired on other platforms.
- Generate a highly verbose log of Mozilla activities.
- Collect a system call trace.
- Collect all possible process information, such as open file descriptors, resident set size, etc.
- Collect a core file, if any.
- Fire up a debugger and obtain a stack trace, if a debugger can be found.
- Mail a beautiful summary and all salient details (platform specifics, shared lib versions, etc.) to the appropriate Mozilla bug tracking address.
Of course by "users" I mean "users of Mozilla" which are surely not the same people as "users of the branded versions of Mozilla such as Navigator." But there are a lot of helpful people out there who would be happy to use Mozilla and obtain this kind of information, but aren't savvy enough to know how to collect it.