동시성 시각화 도우미 표식 SDK 사용
이 항목에서는 동시성 시각화 SDK를 사용하여 범위를 만들고 플래그, 메시지 및 경고를 쓰는 방법을 보여 줍니다.
C++를 사용하려면
동시성 시각화 SDK 지원을 애플리케이션에 추가합니다. 자세한 내용은 동시성 시각화 SDK를 참조하세요.
SDK에 대한
include
문과using
문을 추가합니다.#include <cvmarkersobj.h> using namespace Concurrency::diagnostic;
기본 표식 시리즈에서 세 개의 범위를 만들고 플래그, 메시지 및 경고를 하나씩 각 범위에 씁니다. 플래그, 메시지 및 경고를 쓰는 메서드는 marker_series 클래스의 멤버입니다. span 클래스의 생성자에는
marker_series
개체가 필요하므로 각 범위가 특정 표식 시리즈와 연결됩니다.span
은 삭제될 때 종료됩니다.marker_series series; span *flagSpan = new span(series, 1, _T("flag span")); series.write_flag(_T("Here is the flag.")); delete flagSpan; span *messageSpan = new span(series, 2, _T("message span")); series.write_flag(_T("Here is the message.")); delete messageSpan; span *alertSpan = new span(series, 3, _T("alert span")); series.write_flag(_T("Here is the alert.")); delete alertSpan;
메뉴 모음에서 분석, 동시성 시각화 도우미, 현재 프로젝트에서 시작을 선택하여 앱을 실행하고 동시성 시각화를 표시합니다. 다음 그림은 동시성 시각화에 있는 범위 3개 및 표식 3개를 보여 줍니다.
표식 시리즈의 문자열 이름을 사용하는
marker_series
이 생성자를 호출하여 사용자 지정 표식 시리즈를 추가로 만드는 코드를 추가합니다.marker_series flagSeries(_T("flag series")); span *flagSeriesSpan = new span(flagSeries, 1, _T("flag span")); flagSeries.write_flag(1, _T("flag")); // Sleep to even out the display in the Concurrency Visualizer. Sleep(50); delete flagSeriesSpan; marker_series messageSeries(_T("message series")); span *messageSeriesSpan = new span(messageSeries, 1, _T("message span")); messageSeries.write_message(1, _T("message")); // Sleep to even out the display in the Concurrency Visualizer. Sleep(50); delete messageSeriesSpan;
현재 프로젝트를 시작하여 동시성 시각화를 표시합니다. 스레드 뷰의 자체 레인에 두 개의 표식 시리즈가 나타납니다. 다음 그림은 두 개의 새 범위를 보여 줍니다.
Visual Basic 또는 C#을 사용하려면
동시성 시각화 SDK 지원을 애플리케이션에 추가합니다. 자세한 내용은 동시성 시각화 SDK를 참조하세요.
SDK에 대한
using
또는Imports
문을 추가합니다.기본 표식 시리즈에서 세 개의 범위를 만들고 플래그, 메시지 및 경고를 하나씩 각 범위에 씁니다. 정적
EnterSpan
메서드를 호출하여 Span 개체를 만듭니다. 기본 시리즈에 쓰려면 Markers 클래스의 static 쓰기 메서드를 사용합니다.Span flagSpan = Markers.EnterSpan("flag span"); Markers.WriteFlag("Here is the flag."); flagSpan.Leave(); Span messageSpan = Markers.EnterSpan("message span"); // Sleep for a millisecond to even out the display in the Concurrency Visualizer. System.Threading.Thread.Sleep(1); Markers.WriteMessage("Here is a message"); messageSpan.Leave(); Span alertSpan = Markers.EnterSpan("alert span"); // Sleep for a millisecond to even out the display in the Concurrency Visualizer. System.Threading.Thread.Sleep(1); Markers.WriteAlert("Here is an alert"); alertSpan.Leave();
메뉴 모음에서 분석, 동시성 시각화 도우미, 현재 프로젝트에서 시작을 선택하여 앱을 실행하고 동시성 시각화를 표시합니다. 다음 그림은 동시성 시각화의 스레드 뷰에 있는 범위 3개 및 표식 3개를 보여 줍니다.
static CreateMarkerSeries 메서드를 사용하여 고객 표식 시리즈를 만드는 코드를 추가합니다. MarkerSeries 클래스에는 범위를 만들고 플래그, 메시지 및 경고를 쓸 수 있는 메서드가 포함됩니다.
MarkerSeries flagSeries = Markers.DefaultWriter.CreateMarkerSeries("flag series"); Span flagSeriesSpan = flagSeries.EnterSpan("flag span"); System.Threading.Thread.Sleep(1); flagSeries.WriteFlag(1, "flag"); System.Threading.Thread.Sleep(1); flagSeriesSpan.Leave(); MarkerSeries messageSeries = Markers.DefaultWriter.CreateMarkerSeries("message series"); Span messageSeriesSpan = messageSeries.EnterSpan("message span"); messageSeries.WriteMessage("message"); System.Threading.Thread.Sleep(1); messageSeriesSpan.Leave();
현재 프로젝트를 시작하여 동시성 시각화를 표시합니다. 스레드 뷰의 자체 레인에 세 개의 표식 시리즈가 나타납니다. 다음 그림은 세 개의 새 범위를 보여 줍니다.
관련 콘텐츠
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기