gpt4 book ai didi

c++ - 有没有办法重用 valgrind 抑制文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:47:23 27 4
gpt4 key购买 nike

在我的工作中,我需要对一些软件进行概要分析,并获得了一些未知时间之前记录的抑制文件。其中一个文件 (logging.supp) 用于抑制日志记录错误。

我猜日志记录和其他一些部分在抑制文件的生成和我的分析之间发生了变化。

据我所知,valgrind 使用堆栈来确定是否应抑制泄漏。

我需要重新生成抑制文件还是有办法更改文件中的某些内容?

示例抑制条目:

{
<insert_a_suppression_name_here>
Memcheck:Leak
fun:_Znwj
fun:_ZN3tsd6common5types8SmartPtrINS0_7logging19LogSimpleDateFormatEEaSEPS4_
fun:_ZN3tsd6common7logging23LogDatePatternConverterC1ESt6vectorISsSaISsEE
fun:_ZN3tsd6common7logging16LogPatternParser15createConverterEcSt6vectorISsSaISsEE
fun:_ZN3tsd6common7logging16LogPatternParser17finalizeConverterEcSsiSsNS0_5types8SmartPtrINS1_17LogFormattingInfoEEERSt6vectorINS4_INS1_19LogPatternConverterEEESaIS9_EERS7_IS6_SaIS6_EE
fun:_ZN3tsd6common7logging16LogPatternParser5parseESsRSt6vectorINS0_5types8SmartPtrINS1_19LogPatternConverterEEESaIS7_EERS3_INS5_INS1_17LogFormattingInfoEEESaISC_EE
fun:_ZN3tsd6common7logging16PatternLogLayout15activateOptionsEv
fun:_ZN3tsd6common7logging16PatternLogLayoutC1ERKSs
fun:_ZN3tsd6common7logging14LoggingManager4initENS0_5types8SmartPtrINS1_23LogManagerConfigurationEEE
fun:_ZN3tsd6common7logging14LoggingManager4initERKSsS4_
fun:_ZN3tsd6common7logging14LoggingManager9getLoggerERKSs
fun:_ZN3tsd6common7logging6LoggerC1ERKSs
}

我发现并喜欢这个答案:

https://stackoverflow.com/a/14781867/2764334

我是否也可以使用点来忽略一些作为中间堆栈条目的函数?

函数名是如何生成的?在我看来,_Znjw 或 _ZN3tsd 是 main 的名称?

你能帮我在哪里找到上述问题的文档吗?

最佳答案

Can I use the dots also to ignore some functions that are intermediate stack entries?

是的。

How are the function names generated?

它们是由编译器生成的经过修饰的函数名;它们包含命名空间和/或类作用域、函数名称和参数。您可以使用 c++filt 来分解它们。

to me it looks like either _Znjw or _ZN3tsd is the name for main?

_Znjwoperator new(unsigned)_ZN3tsdnamespace tsd 中事物的前缀。

Can you help me where to find documentation to the above questions?

记录了 Valgrind 抑制文件 here . GNU mangling 格式似乎没有正式记录;使用 Google 并对找到的任何内容持保留态度(假设您不想浏览编译器源代码以查看名称是如何生成的)。

关于c++ - 有没有办法重用 valgrind 抑制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20244722/

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