2016-08-28 1 views
0

특정 작업을 시작하고 초당 한 번씩 업데이트하면 My IU 스레드가 잠 깁니다. 그러나 성능 분석기를 연결하여 모든 것을 연구하면 모든 것이 원활 해지고 UI 스레드는 98 %의 시간 동안 유휴 상태입니다. 나는 Visual Studio 통합 프로파일 러와 dotTrace를 시도해 보았고 같은 결과를 얻었다. 프로파일 러없이 UI 잠금을 분석하려면 어떻게해야합니까?성능 프로파일 러가 연결되지 않은 경우에만 UI 스레드 잠금

나는 싫어한다 .

+1

코드를 반으로 잘라서 이진 검색으로 범인을 잡았습니다. 기본 폼에 10ms 간격 타이머를 추가하고 레이블을 업데이트하십시오. 천천히 모든 것을 자르고 변화가있을 때를보십시오. – SimpleVar

+0

Visual Studio에서 실행 중입니까? [* 일시 중지 버튼 *] (http://stackoverflow.com/a/2474118/23771)을 클릭하면 그 일을 볼 수 있습니다. 그처럼 간단합니다. –

+0

하지만 다시, 그들은 특정 목적을위한 도구를 만들지 않습니까? :) – SimpleVar

답변

0

Visual Studio를 사용하십시오. 디버그 - Windows- 스레드. 히트 일시 정지. 그러면 모든 활성 스레드가 표시됩니다. 병렬 스택 (Parallel Stacks)은 현재 생성 된 스택 트레이스 (Funky Diagram)를 보여줍니다.

이것을 사용하면 각 스레드/스택의 마지막 호출을 찾을 수 있으며 마지막 호출이 동결 된 이유를 확인할 수 있습니다.

관련 문제