Вы не можете написать такую функцию в переносимом C, и вы не можете написать ее, не зная конкретной платформы и соглашений о вызовах, используемых вашим компилятором. Поэтому в вашем вопросе (в настоящее время) отсутствуют все детали, на которые нужно было бы ответить.
Если вы хотите узнать, как работает backtrace (), вы можете изучить любое количество доступных реализаций.
Если вы хотите реализовать его с нуля (домашнее задание?), Изучите соглашение о вызовах для вашей платформы.