duan1982453 2019-05-02 13:49
浏览 50

如何调试从Go代码到C代码的调用中的memleak?

I have code in Go which internally makes lots of library calls which is in C. I have written the interface which makes the transformations from Go to C and vice-versa. The library does not have any leak as I have been using it for a long time. I am definitely missing something in the interface level.

Tried using valgrind but unable to pinpoint the source of the leak. Attaching the leak console logs from valgrind.

==59864== 24 bytes in 2 blocks are definitely lost in loss record 565 of 883
==59864==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==59864==    by 0x7E14B3: _cgo_9699bfde5761_Cfunc__Cmalloc (_cgo_export.c:27)
==59864==    by 0x46A2AF: runtime.asmcgocall (in /home/sumanb/work/BangDB-Core/golang/ecommerce/ecommerce)
==59864==    by 0xC00006E17F: ???
==59864==    by 0xAF97E47: ???
==59864==    by 0x466101: runtime.(*mcache).nextFree.func1 (in /home/sumanb/work/BangDB-Core/golang/ecommerce/ecommerce)
==59864==    by 0x4041D7F: ???
==59864==    by 0xC00019484D: ???
==59864==    by 0x106F: ???
==59864==    by 0xC00000197F: ???
==59864==    by 0x442ADF: ??? (in /home/sumanb/work/BangDB-Core/golang/ecommerce/ecommerce)
==59864== 
==59864== 48 bytes in 4 blocks are definitely lost in loss record 674 of 883
==59864==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==59864==    by 0x7E14B3: _cgo_9699bfde5761_Cfunc__Cmalloc (_cgo_export.c:27)
==59864==    by 0x46A2AF: runtime.asmcgocall (in /home/sumanb/work/BangDB-Core/golang/ecommerce/ecommerce)
==59864== 
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料