Gcc 如何使用STM发现板上的Nuttx操作系统在测试应用程序上运行gcov?
设置: 工具链:gcc-arm-none-eabi-5_2-2015q4-20151219 目标:STM429i迪斯科舞厅 我想运行gcov,并根据以下链接在目标中生成实时报告: 首先,成功地使用-fprofile arcs和-ftest覆盖标志编译了我的代码(兼容POSIX的NUTTX OS),并为我的src文件生成了.gcno文件 其次,成功地启用了-fprofile arcs标志,并使用libgcov.a文件(工具链的一部分)生成了最终的二进制文件 现在,我不知道在我的测试应用程序中需要做什么更改来调用gcov、生成报告和转储报告 另一个问题是,gcov函数在libgcov.a中具有隐藏属性,如下所示。Gcc 如何使用STM发现板上的Nuttx操作系统在测试应用程序上运行gcov?,gcc,arm,gcov,eabi,Gcc,Arm,Gcov,Eabi,设置: 工具链:gcc-arm-none-eabi-5_2-2015q4-20151219 目标:STM429i迪斯科舞厅 我想运行gcov,并根据以下链接在目标中生成实时报告: 首先,成功地使用-fprofile arcs和-ftest覆盖标志编译了我的代码(兼容POSIX的NUTTX OS),并为我的src文件生成了.gcno文件 其次,成功地启用了-fprofile arcs标志,并使用libgcov.a文件(工具链的一部分)生成了最终的二进制文件 现在,我不知道在我的测试应用程序中需要
9:00000000 4 FUNC全局隐藏1\uuuu gcov\u刷新
9:00000000 4函数全局隐藏1\uuuu gcov\u init 因此,我无法根据需要调用
生成.gcda文件时的任何输入都将非常有用 你能换成
gcov\u exit
吗?它类似于\uu gcov\u flush
。通常,它是gcov\u exit
和gcov\u flush
中的一个,您可以使用任何一个
如果这不存在或也隐藏了,您可以使用我在我的一个项目中尝试过的这种方法。我从gcc源代码(与我的工具链相匹配的版本)中选择(并出于各种原因修改了)gcov_exit
,并将其插入到我的项目中。在其他一切保持不变(编译器标志等)的情况下,我能够进入gcov_exit
,并遵循您提到的博客链接中的其他方法