문제

나는 일종의 개념적으로 여기에서 가지고 싶은 플러그인을 디자인하고 있습니다. 내가 원하는 것은 내 코드에서 라인을 태그 할 수있는 것입니다 (브레이크 포인트가 추가되는 방법과 같은)는 실행이 실행될 때 추적 로그를 얻는 것입니다. 브레이크 포인트를 설정하는 대신 (디버거 외부에서 작동하지 않기 때문에) 컴파일러 내부에 추가 로깅이 추가 될 것입니다.

요점은 프로그램의 다른 실행을 비교하는 것입니다. 내가 A를 수행하면 충돌하지만 B를 수행하면 대부분의 코드가 동일해야하므로 어디에서 분기됩니까?

지금은 파일 IO와 Diff 도구 로이 작업을 수행하고 있습니다. 작동하지만 약간 서투른 것입니다.

질문은 다음과 같습니다. 이 작업을 수행 할 수 있고 이와 같은 일이 있었습니까?

올바른 솔루션이 없습니다

다른 팁

나는 당신의 설명에 정확히 맞는 것을 모른다. 하지만...

디버깅 전용 사용을 위해 Visual Studio 2010에는 "Tracepoints"가 있습니다. 이것들은 브레이크 포인트와 같은 방식으로 추가되지만 프로그램을 중지하기보다는 디버그 출력에 텍스트를 출력합니다. 디버거에 설정되어 있기 때문에 소스 코드에 전혀 영향을 미치지 않습니다.

릴리스 빌드에서 활동을 추적하려면 System.Diagnostic.trace.writeline () 호출을 코드로 추가하십시오. Traceswitches를 사용하여 제어 할 수 있으므로 기본적으로 비활성화 할 수 있으며 문제를 진단하기 위해 추가 정보가 필요한 경우에만 켜집니다. Debug.writeline () 호출과 달리 릴리스 빌드 및 디버그 빌드에 포함 된 (기본적으로) 포함됩니다. 이러한 추적 통화는 트레이스 스위치가 비활성화 된 경우에도 작은 오버 헤드 비용이 들기 때문에 코드의 성능 중요한 영역에서 사용하지 마십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top