我是一家新公司,使用的C源代码几乎没有任何跟踪机制。 我想知道应用程序是否通过某个文件以及在哪里(哪个函数)。 我可以使用断点来做到这一点,但是相关的文件包含很多功能。
因此,我正在寻找某种工具,我可以将其附加到应用程序中,并提供以下类型的输出:
- Main.c(main_function())
---- submain.c(submain_function())
...
然后,我可以推断出应用程序传递的位置(哪个文件名,哪个函数)。
有人知道这样的工具是否存在吗? 感谢
答案 0 :(得分:1)
如果您使用Linux,gdb
可能会派上用场。
您可以使用-g
或-g3
选项使用gcc
编译代码,然后使用gdb ./<executable_name>
运行二进制文件,在任何源中设置所需函数的断点文件和检查电话。
在单步执行应用程序时,它将显示正在执行的指令的文件名和行号。
答案 1 :(得分:0)