2009-12-23 4 views
6

Valgrind는 vgcore.NNNN 파일을 생성했습니다. 어떻게 GDB를 사용하여 코어를 디버깅합니까? 원래의 실행 파일을 사용하고 코어를 제공해야합니까, 아니면이를 수행 할 다른 방법이 있습니까?valgrind에서 생성 된 코어 디버깅

valgrind를 루트 실행 파일로 사용하는 것이 작동하지 않는 것처럼 보이고 valgrind에서 실행되는 실행 파일을 GDB에서 코어와 함께 사용하면 잘못된 백 트랙이 생성되는 것으로 보입니다.

+0

어떻게 valgrind에서 코어 파일을 생성 했습니까? – kbang

답변

9

이 나를 위해 잘 작동 :

gdb ./a.out vgcore.21650 

을하고 당신이 vgcore를 사용하는 가정되는 방법입니다.

크래시 전에 프로그램이 스택을 손상시킨 경우 분명히 vgcore에서 좋은 스택 추적을 얻지 못할 것입니다. 충돌로 이어진 실제 Valgrind 보고서로 질문을 확장하고 싶을 수도 있습니다.