To get asylum in Canada you will need to be deemed a refugee by UNHCR and then apply for resettlement. Unfortunately you can't do that in Saudi Arabia. Also there are many refugees who never get resettled due to high demand and you can't choose where you get resettled.
The other option is to get a TRV. Given that you are from Yemen and living in Saudi Arabia you can't show strong ties to your home country. Due to the war CIC will guess that you are likely not a visitor and will file for asylum.
I'm sorry I don't have any other suggestions.