我正在使用valgrind分析c ++应用程序。在泄漏摘要中,错误数量与上下文数量不同。背景意味着什么?
`ERROR SUMMARY: 44911 errors from 1070 contexts (suppressed: 0 from 0)`
为什么在这种情况下错误的数量与上下文的数量不同?
答案 0 :(得分:1)
context指向导致错误的调用堆栈。 简单来说:代码中的许多地方都会导致错误。
答案 1 :(得分:0)
这是上下文错误的定义:
错误的(...)上下文是导致(或可能导致)错误的函数调用链。
因此,为回答您的问题,上下文数是指检测到问题的功能数。
在上面的示例中,您应该从下至上读取每个上下文错误,然后可以确定strconk
文件中的两个上下文错误都在100和102行。
还请注意,对于每个上下文错误,在“地址”部分中,它都将描述该错误在内存中的发生位置,“大小为6的块后为0字节”。 准确识别是给您带来麻烦的好线索。
有关Valdrind工作原理的详细信息,请参阅:https://valgrind.org/docs/manual/manual-core.html
希望这对您有帮助!