Firstly have you interfaced the material that you are buttonholing on? You will never get a good buttonhole otherwise. Also start each new project with a new needle matching the size to the weight of fabric. Good guide available here http://sewing.about.com/od/sewingmachineindex/ig/Sewing-Machine-Needles/
Top thread breaking is usually because the tension is too tight or the thread is catching somewhere in the thread path from the spool to the needle. Also check that the needle doesn't have a burr on it somewhere, or is blunt.
Thread snarls underneath the fabric is usually caused by top thread tension issues. You will need to rethread top and bottom and CHECK that the thread is in tension correctly. So lower the pressure foot and pull the top thread just before the needle - does it feel hard to pull? If not, then the thread is not in tension. Rethread top again, checking the tension dial is set to 5 and the thread is correctly pulled between the tension discs. And always hold the two thread tails at the back of the sewing area as you start each new seam to avoid these being pulled down into the bobbin area and getting jammed up.
So, rethread, test sew and get the top tension sorted, a nice straight stitch happening, then try the buttonholing sequence again.