Have you tried feeding a puppy or growth formula? This usually helps put weight on underweight dogs. Also, don't free feed her - free fed dogs eat less. If a dog is fed two times a day, they finish the whole bowl because they know that they won't get anymore until the morning. Being a free fed dog, she knows there will always be food in the bowl, so she won't eat as much as she should be.