Kcachegrind rocks 그리고 그것은 내가 좋아하는 도구이지만 때때로 원격 서버에서 터미널 (예 : ssh 사용)에서 실행할 수있는 기능이 빠져 있습니다.콘솔 대안 kcachegrind?
VNC 또는 X 서버 포워딩을 설정하는 것이 가능하다는 것을 알고 있지만, 나는 간단한 것을 필요로하는 동안은 매우 어색합니다.
kcachegrind 콘솔 대체품이 있습니까 (예 : ncurses 기반)?
Kcachegrind rocks 그리고 그것은 내가 좋아하는 도구이지만 때때로 원격 서버에서 터미널 (예 : ssh 사용)에서 실행할 수있는 기능이 빠져 있습니다.콘솔 대안 kcachegrind?
VNC 또는 X 서버 포워딩을 설정하는 것이 가능하다는 것을 알고 있지만, 나는 간단한 것을 필요로하는 동안은 매우 어색합니다.
kcachegrind 콘솔 대체품이 있습니까 (예 : ncurses 기반)?
kcachegrind는 cachegrind 및 callgrind의 프론트 엔드라는 도움말을 제공합니다.
cachegrind 및 callgrind는 valgrind의 최신 버전 (3.5)의 일부입니다. 따라서 valgrind를 http://valgrind.org/downloads/current.html#current에서 다운로드하고 빌드하십시오. valgrind --help를 실행하면 callgrind 기능을 사용하는 방법을 알 수 있습니다.
자세한 내용을 보려면 내가하고 싶은 것을 알아야합니다.
원격 호스트에서 Valgrind/Callgrind를 실행하는 것이 좋습니다. 또는 Valgrind 또는 Callgrind의 출력을 PC로 스크랩하고 KCachegrind를 실행할 수 있습니다.
Emacs를 사용하는 경우 원격 호스트에서 실행하고 그림과 같이 here을 실행하면 valgrind 도구에 대한 Emacs의 프론트 엔드가됩니다.
SSHFS을 사용하여 작업중인 원격 디렉토리를 마운트하십시오 (예 : SSHFS installation instructions for Ubuntu 참조).
그런 다음 원격 디렉토리에 원하는 옵션으로 valgrind --tool=callgrind
을 ssh로 실행하십시오. 이 디렉토리가 로컬에 마운트되어 있으므로 로컬에서 디버깅하는 것처럼 KCacheGrind를 사용하여 데이터 파일을 여는 것이 쉽습니다.
Cachegrind 파일은 수백 MB까지 커질 수 있습니다. kcachegrind가 전체 파일을 한 번에 읽으므로 대용량 파일에서이 작업을 수행하는 것은 권장되지 않습니다. 빠른 연결에서도 몇 분이 걸립니다. –
당신은 명령 줄 유틸리티 callgrind_annotate
기본적인 정보 (valgrind --tool=callgrind
에 의해 생성) callgrind 출력 파일에서 주석을 얻을 수 있습니다. (manual pagesection in docs). cachegrind (valgrind --tool=cachegrind
)에 의해 생성 된 파일의 경우 cg_annotate
(section in docs)을 사용할 수 있습니다. 이러한 유틸리티는 기본적으로 valgrind 자체와 함께 빌드됩니다.
또 다른 방법은 프로그램 및 캐시/callgrind 출력 파일을 컴퓨터에 복사 한 다음 평소대로 로컬 kcachegrind를 사용하여 출력 파일을 분석하는 것입니다. 그러나이 방법은 컴퓨터에 유닉스가 없지만 윈도우가 있거나 호환되지 않는 아치 (kcachegrind가 로컬 objdump
을 호출하여 프로그램에 대한 정보를 얻을 수있는 경우)가 어려울 수 있습니다.
는 또한 명령 행 옵션은 Valgrind의에 추천하고 싶은 :
valgrind --tool=cachegrind --branch-sim=yes
valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes
는 또한 --I1=32768,8,64 --D1=32768,8,64 --L2=3145728,12,64
와 cachegrind에 대한 캐시 크기를 지정할 수 있습니다 난 당신이 정말로 질문을 읽어 보지 않았 생각합니다. 내가 필요한 것은 callgrind/cachegrind를위한 ncurses 기반 프론트 엔드입니다. – pachanga
대답은 valgrind입니다. valgrind를 사용하는 방법은 valgrind --help를 실행하십시오. –
당신이 틀렸어, 대답은 valgrind되지 않습니다.Valgrind는'실행 및 정보 수집 '단계 만 수행하지만 callgrind 및 cachegrind에 대한 결과보기는 수행하지 않습니다. – osgx