안녕하세요. ecpg로 작성한 프로그램에서 메모리 누수가 발생하고 있습니다.
postgresql은 9.4.4를 사용하고 있고, ecpg는 4.10.0 버전입니다.
기존에 informix에서 사용한 c프로그램을 ecpg로 이식한 것인데.. 기존의 프로그램에서는 메모리 누수가 없었습니다.
누수가 생길만한 원인이 어떤게 있을지요?
조언 부탁드립니다. 감사합니다.
C 프로그램이 되어버려서, 메모리 새는 문제를 찾는게 그리 쉬어보이질 않겠네요.
저라면, 일단 해당 응용 프로그램에서 open - close 관련 짝이 맞는부터 찾아볼 것 같네요.
(대부분 메모리 새는 문제는 커서 open 다음 안 닫는 경우더라구요)
다음은 free 쪽인데, 이건 ecpg가 꽁꽁 싸버려서 찾는데 고생을 할 것 같습니다.
일단 ecpg 자체 버그인지도 모르니, 버전을 바꿔 보는 것도 한 방법일 것 같네요.
개발로 밥 먹고 사는 놈이 아니라서 더 좋은 묘수를 알고 있지는 못합니다.
코드를 공개해서 같이 찾아 보시지요. 크크
김상기님 답변 감사드립니다. 저도 개발은 겉핥기로만 알고 있어서 잘은 모르지만 cursor의 open close 짝은 확인해보니 맞게 있었습니다. 그래서 ecpg 버그도 의심하고 있는데 관련 버그를 찾기는 또 애매한 것 같습니다. ecpg버전을 바꾼다면 최신 버전으로 바꿔도 될까요?
코드는 제가 작성한 것이 아니라 공개하기는 어려울듯 하지만 뾰족한 수가 없다면 요청해보겠습니다^^;