我已经知道GCC的参数-finstrument-functions可以钩住函数,而参数-finstrument-functions-exclude-file(functions)-list可以排除要跟踪的某些文件/函数。

但是现在我有很多文件要编译,只有其中一些需要跟踪。我想知道是否可以包括要跟踪的某些特定功能/文件,例如-finstrument-functions-include-file(functions)-list吗?

非常感谢!

最佳答案

GCC不支持此功能(这是构建系统的一项重要任务)。实现您想要的目标的一种常见方法是编写一个Shell包装器,该包装器替换GCC并在需要时添加标志:

$ cat path/to/fake/gcc
#!/bin/sh
FLAGS=
if echo "$*" | grep -q 'myfile1.c'; then
  FLAGS=-finstrument-functions
fi
exec /usr/bin/gcc "$@" $FLAGS
$ export PATH="path/to/fake:$PATH"

关于c - 如何在C中跟踪特定的功能/文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56249509/

10-13 04:10