gpt4 book ai didi

c++ - 如何在裸机上运行 gcov(没有文件系统)

转载 作者:太空宇宙 更新时间:2023-11-04 03:10:36 27 4
gpt4 key购买 nike

我在 Cortex M4 上运行 C++,我想开始进行自动化单元测试和覆盖。

gcov 将其输出文件 - .gcno, .gcda - 写入目标 这是不行的,因为我不有一个文件系统。

问题

是否可以使用 gdb 将这些写入“拦截并重定向”到 PC?

我想通过 Python 脚本自动执行这些测试:

  1. 从数据库中获取单元测试
  2. 编译
  3. 转移到目标板
  4. 运行
  5. 将结果重定向到 PC

最佳答案

所以,我不知道gcov,谢谢。

快速查看 man gcov 显示我的系统上有它并且存在以下选项:

-t, --stdout 输出到 stdout 而不是文件

我有一段时间没有用过 python,但是你应该能够创建一个内存文件,并且假设打开的文件句柄是 8,使用:

gcov -t [无论你在做什么] >&8

-t 参数告诉 gcov 打印到标准输出而不是写入文件,并且 >&8 覆盖标准输出(如执行程序所见)为文件句柄 8 而不是 1(在大多数 unix/posix/无论如何,不​​管你怎么调用它)。

当然是在 bash 中,您可以从 python 调用它,或者转码为您在 python 中实现的任何方式。

我还没有尝试过,所以如果它有帮助(或者没有帮助),请务必留下一个标记以帮助 future 的读者。

关于c++ - 如何在裸机上运行 gcov(没有文件系统),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56743308/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com