How to trouble shoot arbitrary Linux programs
Step 1: Determine the minimum number of steps required to reproduce the behavior from a stock new-install of Ubuntu.
Step 2: Spin up a Virtual Machine (unless your issue is hardware-related). See if you can reproduce the behavior in the latest release of Ubuntu. Or, better yet, in a pre-release daily build of Ubuntu.
-
If the issue is hardware-related, boot from a new-release or daily .iso instead of using a VM.
-
If you cannot reproduce the behavior in a new build, then the bug has likely already been fixed. Stop here.
Step 3: Review the bug reports for that software. If the issue has already been reported, help provide any additional information or testing that the developers need. If the issue is unreported, then report it. Monitor the bug report for information requests and testing requests from the developers.
-
Similar bug reports and requests from the developers will inform you what kind of troubleshooting information is needed for your bug. There is no universal rule -- every bug is different. Some bugs require lots of trace information, others require almost none.
-
There may be multiple Bub Trackers. Ubuntu has one, Debian has another, and the upstream project usually has it's own. Check them all!
-
DON'T add "me too" and other irrelevant comments to a bug report. Keep it clean and on-topic. It's a working notesheet for developers to track and and fix bugs. I've seen progress on bugs slow (even stop) when the report became unreadable.
Step 4. Be patient. Some bugs get fixed in hours. Some take years.
OPTIONAL: If you want to dive into the codebase and fix the bug yourself, you certainly can. Create a patch or merge request, and add it to the bug report. Again, be patient: Other folks must test your patch before agreeing to include your code in their project.