我在释放记忆方面有困难:
我得到的输出是:
==11073== 1,000 bytes in 1 blocks are definitely lost in loss record 5 of 5
==11073== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==11073== by 0x400B38: userInput (program.c:80)
==11073== by 0x400DFD: playGame (program.c:150)
==11073== by 0x4012E9: main (program.
我的gerrit错误日志显示了如下类似字符的shell代码:
[HTTP-64] WARN org.eclipse.jetty.http.HttpParser : Illegal character
0x5 in state=START for buffer
HeapByteBuffer@af151b6[p=1,l=3,c=8192,r=2]={\x05<<<\x01\x00>>>P\xC0c\xF660\x0000
OK\r\nDat...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
有没有办法让勇敢的人去报告“绝对失败”的发生呢?
我想要的不是“分配到哪里”,而是“那个可怜的内存被泄露的地方”。
例如,当f()返回时,这段代码出现了“绝对丢失”的漏洞:
#include <stdlib.h>
void f () {
void *ptr = malloc(42);
}
int main () {
f();
return 0;
}
但瓦兰公司只报告了分配的来源:
==9772== HEAP SUMMARY:
==9772== in use at exit: 42 bytes in 1 blocks
==9772== tota