I bought some inexpensive super stretch T-shirts from Primark, cut them off across the chest right below the armpits, and used them kind of like a belt over my jeans and under my top. They came up higher than my pants, and wouldn't ride up like a top would, providing cover when I bent over.
I hauled one out the other day when I was feeling a little self-conscious in my too-short exercise top. I wanted just a couple more inches of coverage while out walking.



I know there are products out there sold for this purpose but why spend more than you need to? A cheap, stretchy T-shirt does the job perfectly - just make sure to size down a little if you need to so it's snug enough not to slip. You don't even need to hem the cut edge as knits won't fray.
If you don't want the contrasting band across your hips / bum, simply choose a colour that matches your top or your pants.