2014-01-06 1 views

답변

1

주어진 스레드에 대한 작성자 스레드 ID를 얻으려면 최소한 표준 및 문서화 된 API가 없습니다. 성능 모니터, Visual Studio IDE, Process Explorer 또는 Spy ++는이 정보를 제공하지 않습니다. 일단 시작되면 스레드는 더 이상 생성자에 의존하지 않고 독립적으로 실행됩니다. 특히 부모 - 자녀 관계는 없다.

+0

예 부모 - 자식 관계가 없음을 알고 있습니다. 아마도 약간의 모니터링을하고 있으며 스레드 생성 및 그 부모에 대한 기록을 보유하고있는 도구가있을 것이라고 생각했을 것입니다. – Sanich

+0

[THREAD_BASIC_INFORMATION] (http://undocumented.ntinternals.net/UserMode/Structures/THREAD_BASIC_INFORMATION.html) - 이것은 문서화되지 않은 문서 일지라도 모두 가지고 있습니다. –

0

Spy ++ (내 컴퓨터의 C : \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ Tools에있는 spyxx.exe)는 이러한 정보를 제공하지만 힘든 일이라고 생각합니다. sys 내부가 훨씬 더 나은 프로세스 정보를 제공하는지 확인하십시오.

+0

해당 도구를 사용해 보았습니다 - 주어진 스레드의 부모에 대한 정보를 찾지 못했습니다. – Sanich

0

프로그래밍 방식이나 외부 도구를 찾으십니까? 나중에 처리하려면 processExplorer를 시도하십시오. MS에서 무료로 다운로드 할 수 있으며, 스레드 스레드 계층 구조와 다른 멋진 것들을 많이 제공합니다.

+0

상위 프로세스가 아니라 부모 THREAD를 알아야합니다. – Sanich

1

나는 그 일을 할 수 있다고 생각하지 않지만, 왜 그런지 잘 모르겠다. 가능한 한 들었습니다. Process Explorer를 살펴 보았지만 시작 주소 만 알려줄 수는 있지만 부모 스레드 ID를 추측 할 수 있을지는 의문입니다.

앱에서이 작업을 수행해야하는 경우 구현하기가 어렵지 않아야합니다. 시스템 기능을 후킹하는 것이 가능할 수도 있지만, SysInternals가이 작업을 수행하지 않으면 어쩌면 불가능합니다. .

관련 문제