2014-11-12 12 views
0

그래서 프로그램에서 Valgrind memcheck를 실행하고 있지만 이렇게하면 프로그램이 충돌합니다. 아마도 Valgrind가 실행을 느리게하여 발생하는 타이밍 문제 때문일 수 있습니다.테스트 된 프로그램이 충돌 할 경우 Valgrind 보고서를 신뢰할 수 있습니까?

그러나 나는 여러 곳에서 기억을 잃어 가고 있다고 말하는 보고서를 몇 가지 얻을 수 있습니다. 프로그램이 손상되었을 때이를 신뢰할 수 있습니까? 나는 프로그램이 충돌하면 메모리가 처리되지 않은 채로 남아 있다고 가정 할 수있다. valgrind이 사건을 볼 수 있고이 메모리를 다르게 처리 할 수 ​​있습니까?

예를 들어 "확실하게 손실 된"메모리에 대한 보고서가 있습니다. 그들은 신뢰할 수 있습니까?

+0

나는 그것을 신뢰하지 않을 것이다. 확실히 충돌을 수정하는 것은 어쨌든 메모리 누출을 처리하는 것보다 더 긴급합니다 (두 개는 직접 관련이 없다고 가정). –

+0

아마도 누출 신고보다 재미있는 점은 valgrind가 충돌의 원인이 될 수있는 불법 또는 초기화되지 않은 메모리 액세스 (읽기/쓰기)를보고한다는 점입니다. –

+0

충돌은 물론 중요합니다. 그러나 Valgrind를 실행할 때 충돌 만 발생하기 때문에 우선 순위가 지정되지 않습니다. – jimmy

답변

1

valgrind (실행 중에 누락 검색 을 수행하거나 실행 끝 부분에서 찾음)에서 'Definitely Lost'가 발생했을 가능성이 매우 높습니다.

하지만 제안 된 것처럼 충돌을 수정하는 것이 최우선 과제입니다.