2012-08-29 3 views
1

질문에서 언급했듯이, 나는 작업하고있는 gtkmm에서 Conway의 인생 게임 구현에 segfault를 가지고 있습니다.gtkmm의 Segfault가 콘웨이의 삶의 게임을 구현했습니다.

은 여기에서 찾을 수 있습니다 : https://github.com/sakekasi/game-of-life
오류의 역 추적을 여기에서 찾을 수 있습니다 : https://gist.github.com/3505525

I 인쇄 cells_get에 문이나 create_updated 그리드를 삽입, 그것은 인쇄를 시작, 세그먼트 폴트를 생성하지 않으며, 아무것도하지 않고 영원히 계속됩니다.

+0

디버그 모드를 작성하고 디버거에서 실행 했습니까? – ergosys

+0

예. gtk 앱의 문제점은 메인 파일의 끝에 애플리케이션을 실행할 때 실제 앱이 다른 스레드에 있기 때문에 디버깅이 잘되지 않는다는 것입니다. – sakekasi

+0

는 중단 점을 사용하여 문제 메서드에 집중합니다. – ergosys

답변

3

create_updated_grid은 그리드 가장자리에서 셀에 액세스하고 있습니다. cells_get(i+1,j)과 같은 것입니다.

범위 초과 검사를 cells_get에서 >=으로 변경해야합니다 (>이 아님).

+0

내 부분에 어리석은 실수. 그것은 트릭을했다. 감사! – sakekasi

관련 문제