I'd say it's a bad idea to conflate labor laws for salaried full time employees with hourly freelance contract work. The labor laws do not apply to self-employed people, and they do not require that you bill clients for your lunch. Your client is not your employer.
If your client understands and expects to be billed for lunch, and your client is paying for your time from 9-5, then it's reasonable. (But that would be a rare situation, normally that would be very temporary, or become a full-time salaried position). If your client is paying for your work on an hourly basis, and has not explicitly agreed to pay for your lunch, then billing for it should be off limits.
For most hourly contract work, lunch is on your own time, not billable hours. I'd be pissed if my lawyer were billing me for lunch, it would be downright dishonest.
As far as debugging, I assumed the parent's comment was talking about debugging his own tools, for example a debugging activity that applies to all his clients, or to himself, rather than time spent on project specific triage. If I'm working directly on the project, I bill for it. If I'm working on something that is indirect and/or not solely for the project's benefit, then I don't.