2010-04-15 3 views

답변

1

LD_PRELOAD을 사용하면 pthread_create을 입력 할 때마다 로그인 할 수있을만큼 충분히 감쌀 수 있어야합니다. 그러나이 방법은 프로그램에서 다른 방식으로 발생하지 않는 레이스를 도입 (또는 노출) 할 수 있기 때문에 결함이 많으며 스레드가 더 많거나 적게 생성 될 수 있습니다.

프로그램 내에서 (디버그 빌드 인 경우) 옵션이없는 것을 추적하고 있습니까?

+0

실행 파일이 닫힌 소스 일 경우 어떻게해야합니까? –

+0

또는 mpi와 같은 라이브러리는 구현을위한 스레드를 생성합니다.이 스레드는 사용하려고하는 스레드입니다. 물론, mpi 소스 코드는 공부할 수 있지만 일반적인 경우를 알고 싶었습니다. –

3

아마도 strace를 사용하여 복제 호출을 잡을까요?

# strace -f -e trace=clone test

은 테스트에 의해 생성 된 처리의 표시를 제공한다.

+0

시스템에 strace가 없습니다. 나는 이것을 시도하기 위해 필요한 공유 라이브러리와 함께 64 비트 버전의 strace를 복사 할 수 있습니다. –

+0

strace는 응용 프로그램이 만든 시스템 호출을 추적하는 매우 유용한 유틸리티입니다. 쉽게 설치할 수 있어야합니다. clone() –

+0

에 대한 호출을 잡는 좀 더 구체적인 방법을 반영하여 해답을 편집했습니다. 이것이 최선의 해결책입니다. 이 시스템은 비 생산 시스템이므로 strace를 설치할 수 있습니다. Strace는 배포본과 함께 제공됩니다. – MarkR

관련 문제