Я уже знаю, что вызывающая процедура такая же, как и выше, и хочу написать несколько строк кода, чтобы отследить вызванные функции.Сохраненная цепочка% ebp не проблема.
Но как я могу узнать аргументы и их число только из этой цепочки вызовов?
Я понял, что GDB сделал это хорошо, он печатает что-то вроде:
> #4 0xf0100069 in test_backtrace (x=3) at kern/init.c:16
> #5 0xf0100069 in test_backtrace (x=4) at kern/init.c:16
> #6 0xf0100069 in test_backtrace (x=5) at kern/init.c:16
> #7 0xf01000ea in i386_init () at kern/init.c:39
, которыйозначает, что он точно знает, что аргументы каждой функции.Как это достигается?
Много ткс.