【问题标题】:Bash script detect memory leaks of C++ programsBash 脚本检测 C++ 程序的内存泄漏
【发布时间】:2021-08-11 14:01:35
【问题描述】:

我正在编写一个 bash 脚本,对使用 g++-fsanitize=address 编译的一些 C++ 程序进行计时。有什么方法可以检测是否发生任何内存泄漏(来自脚本)?

基本上,我想要那些没有泄露的执行的总时间,而忽略那些泄露的执行。

【问题讨论】:

  • 可以在带有--error-exitcode 标志的valgrind 中运行它们,但性能会很糟糕。如果那是针对功能性 q/a 并且程序不是实时的,那可能是合适的
  • @Swift-FridayPie 谢谢,我试试看。

标签: c++ bash address-sanitizer


【解决方案1】:

有什么方法可以检测是否发生内存泄漏(来自脚本)?

可以查看进程退出代码。

如果检测到泄漏,Address Sanitizer 将强制程序以错误代码退出。这假定程序本身以错误代码 0 正确退出。

基本上,我想要那些没有泄露的执行的总时间,而忽略那些泄露的执行。

检测程序的测量时间是没有意义的

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 2021-09-01
    • 1970-01-01
    • 2011-02-18
    • 2013-04-16
    • 2012-07-16
    • 2020-09-12
    相关资源
    最近更新 更多