【发布时间】:2012-02-23 01:10:39
【问题描述】:
我的应用程序打印几行,例如:
tcmalloc: large alloc 4294488064 bytes == 0x2b968d8000 @ 0x727432 0x727302 0x727a58 0x75a07d 0x574beb 0x585756 0x5575df 0x5717db 0x57108f 0x58078c 0x302b80610a
tcmalloc: large alloc 4294488064 bytes == 0x2c97063000 @ 0x727432 0x727302 0x727a58 0x75a07d 0x574beb 0x585756 0x5575df 0x5717db 0x57108f 0x58078c 0x302b80610a
tcmalloc: large alloc 4294488064 bytes == 0x2b968d8000 @ 0x727432 0x727302 0x727a58 0x75a07d 0x574beb 0x585756 0x5575df 0x5717db 0x57108f 0x58078c 0x302b80610a
这条消息是从哪里来的?这是否意味着我的应用程序有一些错误或内存泄漏?如何追根溯源?
【问题讨论】:
-
要将内存地址跟踪到代码中的一行,请使用 addr2line 命令行工具.. 将其用作 addr2line -e
然后按回车键,然后粘贴地址并按回车键。跨度> -
谢谢。在这种情况下,我将地址粘贴到行尾,但得到一个“??:0”
-
你必须使用 -g 选项编译它。
标签: c++ memory-management tcmalloc