2011-12-12 2 views
1

현재 pthread를 사용하는 어플리케이션을 디버깅 중입니다.은 새로운 쓰레드를위한 GDB 출력을 이해합니다 (리눅스 시스템 태그)

[새 스레드 a_hex_number (LWP a_dec_number)]를 주소 그것이

내가 a_hex_number 이 주소로 가정하지만 : 나는 GDB 연결하면이 지속적으로이 양식의 메시지를 인쇄? a_dec_number은 생성 된 스레드의 고유 식별자입니다. 맞습니까?

내 가정이 맞습니까? 숫자와 그 의미에 대해 더 자세히 알려 줄 수 있습니까? 나는 이미 this document을 읽었지만 여전히 전체 그림을 얻는 데 어려움을 겪고 있습니다. 아마 리눅스 화면 캡처에 관한 정보가 도움이 될 것입니다.

답변

2

나는 a_hex_number는 주소이지만 주소는 무엇입니까?

스레드 설명자의 주소입니다 (Linux의 경우도 pthread_self() 호출 결과 임).

나는 a_dec_number가 생성 된 스레드의 고유 식별자라고 가정합니다.

아니요,이 스레드에 커널이 할당 한 스레드 ID입니다. ps 출력 (Linux의 경우 clone(2))에서 볼 수있는 것과 같은 결과입니다. 스레드 및 프로세스의 커널 수준 차이는 거의 없습니다.

관련 문제