2012-09-11 3 views
3

시뮬레이터의 일부분을 수정했지만 이상한 세그멘테이션 오류가 발생했습니다. GDB는 내가 수정하지 않은 클래스에서 오류가 나타나는 것을 보여줍니다. 나는 내 코드가 다른 배열 (프로그램 메모리 공간에 할당 됨)의 내용을 적절히 파괴하는 자체 배열에 액세스 할 때 메모리 액세스 위반이 있다고 생각한다. 배열을 벗어나지 만 내부 프로그램 접근을 감지하는 디버깅 도구가 있습니까?배열 액세스 위반 감지

답변

12

간단히 말해서 Valgrind입니다. 그냥 실행 valgrind /path/to/executable

+0

그것은 내가 원하던 것이었다. 고맙습니다! – ahmad

1

당신은 valgrind을 찾고 있습니다.

적어도 대부분의 Linux 배포판에서 패키지로 제공되며 메모리 액세스를 감지합니다.

그냥 Valgrind의로 프로그램을 시작

valgrind ./program