很好地说明了允许gdb执行backtrace 1的机制。
gdb
backtrace 1
rip
理论上,可能要考虑成千上万的功能。我想知道是否存在阻止gdb的固有限制通过使用return address -> function name创建查找表。
return address -> function name
是什么使您认为GDB会直接搜索所有功能?这不是会发生的事情。 GDB将符号组织为几个不同的数据结构,从而可以更有效地映射地址和封闭函数。
一个好的起点可能在这里:https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/blockframe.c;h=d9c28e0a0176a1d91fec1df089fdc4aa382e8672;hb=HEAD#l118