Windows에서 프로세스를 추적 / 프로파일하는 방법


2

때때로 SQL Server 문제를 조사 할 때 Visual Studio 디버거를 연결하고 호출 스택을보고 수행중인 작업을 알아 내고 유용하게 사용하는 것이 유용하다는 것을 알게되었습니다 (공용 기호를 사용할 수 있으며 종종 유용한 것으로 추론 할 수 있음) 메소드 이름의 정보).

추론 할 수있는 내부 정보 유형의 좋은 예는 이 블로그 게시물에 있습니다.

그러나 이것은 시간이 많이 걸리고 지루한 과정 일 수 있습니다. 일반적으로 루프에서 디버거를 연결하여 관심있는 코드를 실행 한 다음 계속 조사하고 문제에 흥미가있는 콜 스택에 도달 할 때까지 계속 중단합니다. 그런 다음 코드를 단계별로 살펴보고 호출되는 메소드 이름을 볼 수 있습니다. 그러나 이것은 나이가 걸립니다.

이것을 자동화하는 방법이 있습니까? 그래서 짧은 기간 동안 호출 된 모든 메소드를 간단히 기록 한 다음 나중에 로그 파일을 검토 할 수 있습니까?

답변:


3

내가 실수하지 않으면 아마도 Process Monitor (일명 procmon)를 찾고있을 것입니다. 이 Microsoft 웹 사이트 에서 구할 수 있습니다 .

특히 "스택 요약"메뉴 옵션에는 이러한 종류의 정보가 있습니다. 자세한 내용은 PM2-6 섹션 : 스택 풀기

여기에 이미지 설명을 입력하십시오


1
훨씬 강력한 프로세스 탐색기는 어떻습니까? technet.microsoft.com/en-us/sysinternals/bb896653
Moab

1
@Moab-AFAIK Process Explorer는 MS 심볼 서버에서 퍼블릭 심볼을로드하고 현재 통화 스택을 표시 할 수 있지만 시간이 지남에 따라 통화를 기록하는 기능이 없습니까?
Martin Smith

@MartinSmith 확실하지 않습니다, 불행히도 그 소프트웨어를 사용하는 전문가는 아닙니다.
Moab

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.