2010-05-18 2 views
0

코드에 중단 점을 삽입 할 때 세그먼트 화 오류를 생성하는 qApp가 있습니다 (여러 위치에 배치 할 수 있음). 4-5 중단 점이 끝난 후에 만합니다. 내 코드에 문제가 있거나 DBG 버그입니까? 이 메소드는 QThread 클래스의 일부입니다.qapps는 잘 실행되지만 중단 점은 세그먼트 화 오류를 생성합니다.

기본적으로 내가 한 것은 mandlebrot 예제를 가져 와서 내 프로그램에 3 개의 인스턴스가 있습니다. 그래서이 프로그램은 3 개의 만델 브로트 위젯을 다른 윈도우 외에도 가지고있는 메인 윈도우처럼 보일 것입니다. GDB가 여러 번 인스턴스화 된 qthread 하위 클래스의 디버깅을 지원하지 않을 수도 있고 그렇게하기에는 thread-unsafe 할 수도 있습니다. 런타임에는 문제가 없습니다.

+0

가능한 복제본 [GDB에서 쓰레드 유형의 동일한 객체의 여러 인스턴스를 항상 디버깅 할 수 있습니까?] (http://stackoverflow.com/questions/2861876/can-i-always-debug-multiple-instances) 같은 객체 인 스레드 위트) –

답변

2

문제는 코드의 일부 개체에 대한 동기화되지 않은 액세스가 있으며 중단 점을 사용하면 문제를 쉽게 볼 수 있다는 것입니다.

+0

동시에 여러 객체가 액세스하려고하는 것을 의미합니까? –

+1

예, 여러 스레드. –

+0

실제로,이 순간에 클래스 외부의 아무 것도 그것과 상호 작용하지 않습니다. 생성자 만 호출되며 클래스 외부의 리소스없이 완료됩니다. –

관련 문제