mp 와 mp_record 는 무슨 관계가있지요?
아 mp 와 mp_record는 같은건데 제가 실수로 잘못 올려버렸네요
생략된 코드 때문에 전혀 모르겠고,
(24시간돌리는 데몬이 아닌 이상) free를 안한다고 프로그램이 죽지도 않습니다.
그보다 free를 두번 동작하게 되면 세그폴트가 납니다.
1. free 동작 이후에는 null값 넣어두세요. 실수로 free를 두번 호출하게되도 안전합니다.
2. free(mp_record) 대신 추적용 로그를 뿌려보세요. printf("memory free at %d\n", __LINE__); // 콘솔이 아니라면 파일입출력 이용
ㄴ
주어진 코드만 갖고는 알 수가 없네요. 1번은 @twinwings님 말씀처럼 double free가 야기될 수 있고, 2번은 문제 없어 보이고, 3번은 함수 자체가 언제 호출되는지 언급이 없는데요. valgrind를 돌려 보시죠? 대략적으로 누수가 발생하는 위치를 찾아줍니다.
소곤소곤
a
이미 먹튀당한 글입니다
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
...
mp 와 mp_record 는 무슨 관계가있지요?
아 mp 와 mp_record는 같은건데 제가 실수로
아 mp 와 mp_record는 같은건데 제가 실수로 잘못 올려버렸네요
생략된 코드 때문에 당최 모르겠고,
생략된 코드 때문에 전혀 모르겠고,
(24시간돌리는 데몬이 아닌 이상) free를 안한다고 프로그램이 죽지도 않습니다.
그보다 free를 두번 동작하게 되면 세그폴트가 납니다.
1. free 동작 이후에는 null값 넣어두세요. 실수로 free를 두번 호출하게되도 안전합니다.
2. free(mp_record) 대신 추적용 로그를 뿌려보세요.
printf("memory free at %d\n", __LINE__); // 콘솔이 아니라면 파일입출력 이용
ㄴ
ㄴ
음..
주어진 코드만 갖고는 알 수가 없네요. 1번은 @twinwings님 말씀처럼 double free가 야기될 수 있고, 2번은 문제 없어 보이고, 3번은 함수 자체가 언제 호출되는지 언급이 없는데요. valgrind를 돌려 보시죠? 대략적으로 누수가 발생하는 위치를 찾아줍니다.
소곤소곤
a
a
이미 먹튀당한 글입니다
이미 먹튀당한 글입니다
댓글 달기