呕心沥血

ǒu xīn lì xuè

lit. to spit out one's heart and spill blood (idiom)

to work one's heart out; blood, sweat and tears

ǒu

vomit

xīn

heart

to drip

xuè

blood