2011-12-20 3 views
2

여러 단계 (이 시점에서 알 수없는 단계)가 포함 된 특정 프로세스를 조사해야합니다. 시간 범위 (메모리 사용 가능성)를 고려하여 일반적인 하위 프로세스 (다양한 어셈블리에 상주)가 관련되어 있는지 분석하는 데 효율적인 방법이 필요합니다.어셈블리에서 코드 흐름 분석

지능적으로 설정된 중단 점을 사용하여 코드를 실행하는 것은 코드를 배치하는 데 "지능적인"위치를 찾는 데 너무 많은 시간을 소비한다는 것을 의미합니다. 나중에 나는 수백 가지의 메소드 호출과 헬퍼 클래스 중에서 일반적인 논리적 단계의 일반적인 순서를 다시 만들어야 할 것이다.

생성 순서 다이어그램이 도움이 될 것입니다. 그러나 다시 지구에서 화성까지 펼칠 수 있습니다.

그렇다면 합리적인 수준의 추상화를 통해 해당 프로세스의 논리를 이해하는 데 도움이되는 몇 가지 도구에 대해 알고있을 수 있습니다.

은 (나는 VS에 대한 프로파일 내장 시도 - 그것은 실제의 논리를 "복원"하지 않습니다 다시 좋은하지만 결과를 분석하는 데 많은 시간이 소요, 실제로 hotpoints을 보여줍니다.) 고급 있습니다

답변

3

NDepend 당신에게 도움이 될 수도 파악하기 위해 프로파일 데이터의 결과로 IntelliTrace를 결합 할 수 있습니다.

실행중인 코드에서 시퀀스 다이어그램을 생성하고 싶다고 말한 이후로 Sparx 시스템의 Enterprise architect이이를 수행 할 수 있습니다. manual을 확인하십시오.

This 링크가 도움이 될 수도 있습니다.

지출 할 돈이 있다면 RedGate Develper Bundle for .NET을 사용할 수 있습니다. 성능 프로파일 러, 메모리 프로파일 러 등이 있습니다. 평가판도 있습니다.

프로파일 러용으로는 더 저렴한 alternatives도 있습니다.

+0

아주 흥미로운 도구 목록입니다. 고마워. – Nickolodeon

+0

@ 니콜로 데온 - 항상 기꺼이 도와 드리겠습니다;) – TheBoyan

0

프로파일 러 응용 프로그램을 Visual Studio Profiler보다 많이 사용하지만 논리가 별도의 AppDomain을 사용하거나 그렇지 않으면 그룹화하기가 쉽지 않으면 이러한 종류의 문제를 조사하는 데 항상 상당한 시간이 걸릴 것입니다.

Visual Studio Ultimate에는 코드에서 종속성 행렬 및 시퀀스 다이어그램을 생성 할 수있는 기능이 있습니다. VisualNDepend도 그렇게 할 수 있습니다. 그러나 이것들은 코드의 정적 인 동작에 대한 통찰력을 제공하지만, 런타임 동작을 파악하는 데 도움이되지는 않습니다.

코드 분석 (Visual Studio Premium 및 Ultimate)에는 새 DataFlow 분석 엔진을 기반으로하는 일련의 규칙이 있습니다. 이것들에 대한 사용자 정의 규칙을 작성할 수는 있지만 가장 간단한 말은하지 않는 것이 가장 간단합니다.

당신은 코드 분석을 수행하고 있기 때문에

+0

... 결과는 무엇입니까? –