2017-01-11 6 views
5

나는 작은 코드를 프로파일 링하기 위해 callgrind를 사용하고 있습니다. Callgrind 출력 파일이 아니라 그 내용이 좋아 보인다, 생성,하지만 난 kcachegrind로 열 수 없습니다 해요 :kcachegrind가 callgrind 파일을 열 수 없습니다.

파일을 열 수 없습니다 "callgrind.out.4953"나는 다음과 같은 오류 메시지가 나타납니다. 파일이 있는지 확인하고 읽을 수있는 권한이 있는지 확인하십시오.

나는 파일과 디렉토리에 대한 모든 권한이 있지만 같은 문제가 있습니다. 또한 동일한 작업 공간에있는 다른 폴더의 다른 프로젝트에서도 잘 작동합니다. 또한 두 경우 모두 프로세스가 올바르게 종료된다는 점도 정확합니다.

답변

5

나는 kcachegrind 개발자에게 정확히 같은 증상을 보이는 문제를 최근에보고했습니다. callgrind가 매우 긴 명령 행과 함께 사용될 때 문제가 발생합니다. 이것은 valgrind/callgrind 및 kcachegrind의 다음 버전에서 수정되었습니다. valgrind 측에 대한 커밋 로그를 아래에서 찾으십시오. valgrind 및 kcachegrind의 새 릴리스를 기다리는 중에도 명령 줄이 너무 길어서 파일을 편집하고 cmd : 줄을자를 수 있습니다. 문제가 cmd 줄의 길이가 아니라면 callgrind_annotate (이 경우)를 사용해야하거나 kcachegrind가 파일에 문제가있는 이유를 더 자세히 조사해야 할 것입니다.

저자 : weidendo 날짜 : 화 월 20시 21분 21초 2017 10 새로운 개정 : 16,196

로그 : 파일

을 callgrind하는 형식 마커를 추가

KCachegrind 현재 실제로 전에 빠른 포맷 감지 기능을 사용하여 파일을로드하고 그 첫 번째 2kB 인 에서 "events :"로 시작하는 행을 확인합니다. 이것은 분명히 깨지기 쉽습니다. Philippe의 내부 버그 보고서 으로 볼 수 있습니다. "events"줄 앞에 Callgrind는 "cmd :"줄을 명령 줄에 넣습니다. 이 값이 너무 길면 감지가 실패하고 파일이 전혀로드되지 않습니다.

KCachegrind는 all에서이 빠른 형식 검사를 수행 할 필요가 없지만 여러 입력 형식 필터가 에서 지원되면 자동으로 올바른 필터를 선택하는 것이 유용합니다.

"file"명령의 경우 파일 관리자 및 데스크탑의 경우 환경에서 파일 형식을 감지하는 고유 한 방법은 입니다.

callgrind 형식으로이 문제를 해결하기에는 아직 늦지 않았습니다.

+1

이것은 사실상 사실입니다. 저는 제 프로그램에 대해 많은 논쟁을 벌였습니다. 감사. – Greg82

+0

phd, 수정 된 kcachegrind/valgrind의 버전은 무엇입니까? – osgx

+1

osgx : 현재이 버전은 아직 출시되지 않았습니다. svn과 git 저장소에서 valgrind와 kcachegrind를 빌드해야합니다. – phd