0
실행 파일이 원격 Linux 컴퓨터에서 실행 중입니다.Valgrind에서 극적으로 프로그램 출력이 다릅니다.
나는 일반적으로 (./execute arg_one) 실행 파일을 실행, while 루프의 중간에 프로그램이 충돌 " './execute`오류 :의 malloc() : 메모리 손상 (빠른)"
그러나 가장 간단한 valgrind (valgrind ./execute arg_one)에서 프로그램을 실행하면 프로그램이 중단되지 않고 main을 통해 실행되며 실제로 올바른 결과가 생성됩니다.
왜 이것이 사실입니까?
모르겠지만'MALLOC_CHECK_ = 2 ./execute arg_one'도 시도해 볼 수 있습니다. – melpomene
valgrind는 어떻게 실행합니까? "* correct *"출력을 생성 할 수 있으므로 이것이 정의되지 않은 동작이라고합니다. –
'valgrind --leak-check = full --track-origins = yes ./execute arg_one'을 사용하고 거기에있는 에러를 확인하십시오. 당신의 프로그램은 valgrind에서 열 받게 될 뭔가를해야합니다. –