[英]What do the number of contexts in valgrind leak summary refer to?
我正在使用 valgrind 分析 C++ 应用程序。 在泄漏摘要中,错误的数量与上下文的数量不同。 上下文是什么意思?
`ERROR SUMMARY: 44911 errors from 1070 contexts (suppressed: 0 from 0)`
在这种情况下,为什么错误数量与上下文数量不同?
上下文是指导致错误的调用堆栈。 简单来说:代码中的很多地方都会导致错误。
这是上下文错误的定义:
错误的 (...) 上下文是导致(或可能导致)错误的函数调用链。
因此,为了回答您的问题,上下文的数量是指检测到问题的功能的数量。
在上面的示例中,您应该自下而上读取每个上下文错误,并且您可以在strconk
文件的 100 和 102 行中识别出两个上下文错误都发生了。
另请注意,对于每个上下文错误,在地址部分,它显示了该错误在内存中发生的位置的描述,“大小为 6 的块之后的 0 个字节”。 这是一个很好的线索,可以准确地确定是什么导致了您的麻烦。
有关 Valdrind 工作原理的详细信息,请参阅: https ://valgrind.org/docs/manual/manual-core.html
希望这对你有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.