Можно ли отследить загрузку исполняемого файла ELF от ввода имени программы и нажатия клавиши ввода до выполнения основной функции? Если да, то как это сделать?
Отслеживание загрузки файла ELF
Ответы (2)
man ld.so
расскажет вам о LD_DEBUG.
person
bmargulies
schedule
25.06.2011
Как насчет стрэйса?
strace myprog myargs...
Это запустит вашу программу и распечатает все системные вызовы по мере их выполнения, что, как я полагаю, вы имели в виду под «трассировкой». Вы можете просто перестать смотреть на вывод, как только увидите, что выполняется ваш собственный код.
person
John Zwinck
schedule
25.06.2011
strace отслеживает системные вызовы только после начала выполнения программы. Он не отлаживает сам процесс загрузки ELF.
- person Chris Eberle; 25.06.2011
да, я пробовал это, но я думал, можно ли увидеть выполнение функций do_execve, search_binary_handler и т. д., которые выполняются до _start.
- person scdmb; 25.06.2011
Вы путаете вещи в ядре с вещами в процессе.
- person bmargulies; 25.06.2011
ld.so находится внутри процесса и выполняет загрузку эльфа. За исключением крошечного кусочка в ядре, который вы не можете отследить.
- person bmargulies; 25.06.2011