C 记忆博士可以';t查找可到达泄漏的线号

C 记忆博士可以';t查找可到达泄漏的线号,c,memory,memory-leaks,memory-leak-detector,dr-memory,C,Memory,Memory Leaks,Memory Leak Detector,Dr Memory,我正在用Dr.Memory进行调试,不知怎的,它没有显示泄漏位置的行号。到底有没有办法看到它或解决这个问题?我用的是c,这是ShowReach给我的。我也试过做-Werror-g,但也没有找到行号。我用malloc只创建了3个新矩阵,我把它们都释放了,所以有6个漏洞真的很奇怪 ~~Dr.M~~ Error #1: REACHABLE LEAK 4096 direct bytes 0x00000001033e22c0-0x00000001033e32c0 + 0 indirect bytes ~~

我正在用Dr.Memory进行调试,不知怎的,它没有显示泄漏位置的行号。到底有没有办法看到它或解决这个问题?我用的是c,这是ShowReach给我的。我也试过做-Werror-g,但也没有找到行号。我用malloc只创建了3个新矩阵,我把它们都释放了,所以有6个漏洞真的很奇怪

~~Dr.M~~ Error #1: REACHABLE LEAK 4096 direct bytes 0x00000001033e22c0-0x00000001033e32c0 + 0 indirect bytes
~~Dr.M~~ <memory was allocated before tool took control>
~~Dr.M~~ 
~~Dr.M~~ Error #2: REACHABLE LEAK 4096 direct bytes 0x00000001033e32e0-0x00000001033e42e0 + 0 indirect bytes
~~Dr.M~~ <memory was allocated before tool took control>
~~Dr.M~~ 
~~Dr.M~~ Error #3: REACHABLE LEAK 513 direct bytes 0x00000001033e5460-0x00000001033e5661 + 0 indirect bytes
~~Dr.M~~ <memory was allocated before tool took control>
~~Dr.M~~ 
~~Dr.M~~ Error #4: REACHABLE LEAK 80 direct bytes 0x00000001033e5910-0x00000001033e5960 + 0 indirect bytes
~~Dr.M~~ <memory was allocated before tool took control>
~~Dr.M~~ 
~~Dr.M~~ Error #5: REACHABLE LEAK 36 direct bytes 0x00000001033e5980-0x00000001033e59a4 + 0 indirect bytes
~~Dr.M~~ <memory was allocated before tool took control>
~~Dr.M~~ 
~~Dr.M~~ Error #6: REACHABLE LEAK 32 direct bytes 0x00000001033e59d0-0x00000001033e59f0 + 0 indirect bytes
~~Dr.M~~ <memory was allocated before tool took control>
~~Dr.M~~ 
~~Dr.M~~ ERRORS FOUND:
~~Dr.M~~       0 unique,     0 total unaddressable access(es)
~~Dr.M~~       0 unique,     0 total uninitialized access(es)
~~Dr.M~~       0 unique,     0 total invalid heap argument(s)
~~Dr.M~~       0 unique,     0 total warning(s)
~~Dr.M~~       0 unique,     0 total,      0 byte(s) of leak(s)
~~Dr.M~~       0 unique,     0 total,      0 byte(s) of possible leak(s)
~~Dr.M~~       6 unique,     6 total,   8853 byte(s) of still-reachable allocation(s)
~~Dr.M~~ NO ERRORS IGNORED
~~Dr.M~~错误#1:可到达泄漏4096个直接字节0x00000001033e22c0-0x00000001033e32c0+0个间接字节
~M博士~
~M博士~
~~Dr.M~~Error#2:可到达泄漏4096个直接字节0x00000001033e32e0-0x00000001033e42e0+0个间接字节
~M博士~
~M博士~
~~Dr.M~~Error#3:可到达泄漏513个直接字节0x00000001033e5460-0x00000001033e5661+0个间接字节
~M博士~
~M博士~
~~Dr.M~~Error#4:可到达泄漏80个直接字节0x00000001033e5910-0x00000001033e5960+0个间接字节
~M博士~
~M博士~
~~Dr.M~~Error#5:可到达泄漏36个直接字节0x00000001033e5980-0x00000001033e59a4+0个间接字节
~M博士~
~M博士~
~~Dr.M~~Error#6:可到达泄漏32个直接字节0x00000001033e59d0-0x00000001033e59f0+0个间接字节
~M博士~
~M博士~
~~Dr.M~~发现错误:
~~Dr.M~~0个唯一,0个不可寻址访问总数
~~Dr.M~~0唯一,共0个未初始化访问
~~Dr.M~~0个唯一的、总共0个无效的堆参数
~~Dr.M~~0个唯一,总共0个警告
~~Dr.M~~0个唯一、0个总计、0个字节的泄漏
~~Dr.M~~0个唯一、0个总计、0个字节的可能泄漏
~~Dr.M~~6个唯一的、总共6个、8853字节的仍然可到达的分配
~~Dr.M~~未忽略任何错误

编译并使用调试标志链接-通常是
-g
。如果仍然可以访问,则不会泄漏内存。。。(不管你是否应该在完成后的某个时候释放它,或者是否可以一直保留到程序退出,现在,这是另一回事)注意,消息说内存是在工具得到控制之前分配的。这可能意味着它是在调用
main()
之前在启动代码中分配的。对于这些泄密,你无能为力,也许除了忽略它们。谢谢你,我把它发给了我的朋友,它似乎在他们的dr.memory上工作,没有错误消息。所以我想这真的是一个博士的记忆问题