【发布时间】:2019-08-31 23:59:51
【问题描述】:
Valgrind/Memcheck 可能会占用大量资源并导致运行时性能显着下降。我需要一种方法(在运行时)来检测它,以便禁用所有辅助服务和功能,以便在 24 小时内执行检查。我不希望将任何显式标志传递给程序,但这是一种方式。
- 我探索了在符号表(通过 abi 调用)中搜索 valgrind 或 memcheck 符号,但没有。
- 我探索了检查堆栈(通过 boost::stacktrace),但那里也没有。
【问题讨论】:
-
导致程序在被分析时表现不同会破坏执行分析的目的。
-
添加 valgrind/memcheck 标头有什么问题?
-
如果您仍然想调整程序的行为,那么使用命令行选项、配置文件或交互式输入来做到这一点是正确的方法,因为这提供了适当的关注点分离。实际上,这意味着您可以分析您选择的一组特性,而不是局限于程序中的特定集合。