如何记录使用GDB调试时执行的所有地址?
在用GDB调试程序时,是否可以记录程序的所有执行地址。因此,我试图实现的是在程序成功执行后生成一个地址列表。我希望能够区分被叫地址和非被叫地址。这类清单的一个例子是(当然,实际上要大得多):如何记录使用GDB调试时执行的所有地址?,gdb,Gdb,在用GDB调试程序时,是否可以记录程序的所有执行地址。因此,我试图实现的是在程序成功执行后生成一个地址列表。我希望能够区分被叫地址和非被叫地址。这类清单的一个例子是(当然,实际上要大得多): 我还没有找到这样做的方法。也许你知道我的问题的解决办法?你为什么要这样做 在gdb中实现这种跟踪的一种非常低效的方法: while 1 stepi x/i $pc end 要分析覆盖率(程序中执行的部分),请尝试mangcov。您的答案确实效率低下,但有点奏效。由于GDB产生的开销,需要进行一些后处理
我还没有找到这样做的方法。也许你知道我的问题的解决办法?你为什么要这样做 在gdb中实现这种跟踪的一种非常低效的方法:
while 1
stepi
x/i $pc
end
要分析覆盖率(程序中执行的部分),请尝试
mangcov
。您的答案确实效率低下,但有点奏效。由于GDB产生的开销,需要进行一些后处理。我不能使用gcov,因为我只有通过GDB的运行时访问权限。
while 1
stepi
x/i $pc
end