Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何记录使用GDB调试时执行的所有地址?_Gdb - Fatal编程技术网

如何记录使用GDB调试时执行的所有地址?

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

在用GDB调试程序时,是否可以记录程序的所有执行地址。因此,我试图实现的是在程序成功执行后生成一个地址列表。我希望能够区分被叫地址和非被叫地址。这类清单的一个例子是(当然,实际上要大得多):


我还没有找到这样做的方法。也许你知道我的问题的解决办法?

你为什么要这样做

在gdb中实现这种跟踪的一种非常低效的方法:

while 1
 stepi
 x/i $pc
end

要分析覆盖率(程序中执行的部分),请尝试
mangcov

您的答案确实效率低下,但有点奏效。由于GDB产生的开销,需要进行一些后处理。我不能使用gcov,因为我只有通过GDB的运行时访问权限。
while 1
 stepi
 x/i $pc
end