먼저 Visual Studio 디버거 살펴보기First look at the Visual Studio Debugger

이 항목에서는 Visual Studio에서 제공 하는 디버거 도구를 소개 합니다.This topic introduces the debugger tools provided by Visual Studio. Visual Studio 컨텍스트에서 애플리케이션을 디버그하는 경우는 일반적으로 디버거가 연결된 상태에서(즉 디버거 모두에서) 애플리케이션이 실행되고 있음을 의미합니다.In the Visual Studio context, when you debug your app, it usually means that you are running the application with the debugger attached (that is, in debugger mode). 이렇게 하면 디버거는 실행되는 동안 코드에서 수행하는 작업을 확인할 수 있는 여러 가지 방법을 제공합니다.When you do this, the debugger provides many ways to see what your code is doing while it runs. 코드를 단계별로 실행하고, 변수에 저장된 값을 살펴보고, 변수에 대한 조사식을 설정하여 값이 변경되는 경우를 확인하며, 코드의 실행 경로 등을 검사할 수 있습니다. 처음으로 코드를 디버그한 경우 이 항목를 계속 진행하기 전에 먼저 완전 초보자를 위한 디버깅을 참조하는 것이 좋습니다.You can step through your code and look at the values stored in variables, you can set watches on variables to see when values change, you can examine the execution path of your code, et al. If this is the first time that you've tried to debug code, you may want to read Debugging for absolute beginners before going through this topic.

여기에 설명된 기능은 C#, C++, Visual Basic, JavaScript 및 Visual Studio에서 지원하는 다른 언어(언급한 경우 제외)에 적용할 수 있습니다.The features described here are applicable to C#, C++, Visual Basic, JavaScript, and other languages supported by Visual Studio (except where noted).

중단점 설정 및 디버거 시작Set a breakpoint and start the debugger

디버그하려면 앱 프로세스에 연결된 디버거로 앱을 시작해야 합니다.To debug, you need to start your app with the debugger attached to the app process. F5(디버그 > 디버깅 시작)는 디버그 작업을 수행하는 가장 일반적인 방법입니다.F5 (Debug > Start Debugging) is the most common way to do that. 그러나 지금 앱 코드를 검사할 중단점을 설정하지 않았으므로 먼저 중단점을 설정한 다음, 디버깅을 시작합니다.However, right now you may not have set any breakpoints to examine your app code, so we will do that first and then start debugging. 중단점은 신뢰할 수 있는 디버깅의 가장 기본적이고 필수적인 기능입니다.Breakpoints are the most basic and essential feature of reliable debugging. 중단점은 변수의 값, 메모리의 동작 또는 코드 분기의 실행 여부를 확인할 수 있도록 Visual Studio에서 실행 중인 코드를 일시 중단해야 하는 위치를 나타냅니다.A breakpoint indicates where Visual Studio should suspend your running code so you can take a look at the values of variables, or the behavior of memory, or whether or not a branch of code is getting run.

코드 편집기에 파일이 열려 있는 경우 코드 줄의 왼쪽 여백을 클릭하여 중단점을 설정할 수 있습니다.If you have a file open in the code editor, you can set a breakpoint by clicking in the margin to the left of a line of code.

중단점 설정Set a Breakpoint

F5 키(디버그 > 디버깅 시작) 또는 디버그 도구 모음에서 디버깅 시작 단추 디버깅 시작를 누르면 디버거에 발생되는 첫 번째 중단점에서 디버거가 실행됩니다.Press F5 (Debug > Start Debugging) or the Start Debugging button Start Debugging in the Debug Toolbar, and the debugger runs to the first breakpoint that it encounters. 앱이 아직 실행되고 있지 않으면 F5 키를 사용하여 디버거를 시작하고 첫 번째 중단점에서 중지합니다.If the app is not yet running, F5 starts the debugger and stops at the first breakpoint.

중단점은 자세히 검사하려는 코드 줄 또는 코드 섹션을 아는 경우 유용한 기능입니다.Breakpoints are a useful feature when you know the line of code or the section of code that you want to examine in detail.

앱 코드를 더욱 빠르게 탐색할 수 있으므로 대부분의 명령에 대한 바로 가기 키를 제공합니다.We provide the keyboard shortcuts for most commands because they make navigation of your app code quicker. (메뉴 명령과 같은 해당 명령이 괄호 안에 표시됩니다.)(Equivalent commands such as menu commands are shown in parentheses.)

디버거가 연결된 상태로 앱을 시작하려면 F11(디버그 > 한 단계씩 코드 실행)을 누릅니다.To start your app with the debugger attached, press F11 (Debug > Step Into). F11 키는 한 단계씩 코드 실행 명령으로서 한 번에 하나의 명령문씩 앱을 실행합니다.F11 is the Step Into command and advances the app execution one statement at a time. F11 키로 앱을 시작하는 경우 디버거는 실행되는 첫 번째 명령문에서 중단됩니다.When you start the app with F11, the debugger breaks on the first statement that gets executed.

F11 한 단계씩 코드 실행F11 Step Into

노란색 화살표는 디버거가 일시 중지한 명령문을 나타내며, 동일한 지점에서 앱 실행을 일시 중단하기도 합니다(이 명령문은 아직 실행되지 않음).The yellow arrow represents the statement on which the debugger paused, which also suspends app execution at the same point (this statement has not yet executed).

F11 키는 실행 흐름을 가장 자세히 검사할 수 있는 좋은 방법입니다.F11 is a good way to examine the execution flow in the most detail. (코드를 통해 더 빨리 이동하기 위해 몇 가지 다른 옵션도 표시합니다.) 기본적으로 디버거는 사용자 코드가 아닌 코드를 건너뜁니다(자세한 내용은 내 코드만을 참조하세요).(To move faster through code, we show you some other options as well.) By default, the debugger skips over non-user code (if you want more details, see Just My Code).

참고

속성 및 연산자(기본 동작)를 자동으로 프로시저 단위로 실행하는 경우 알림을 받을 것인지 묻는 대화 상자가 관리 코드에 표시됩니다.In managed code, you will see a dialog box asking if you want to be notified when you automatically step over properties and operators (default behavior). 나중에 설정을 변경하려는 경우 디버깅 아래의 도구 > 옵션 메뉴에서 속성 및 연산자를 프로시저 단위로 실행 설정을 비활성화합니다.If you want to change the setting later, disable Step over properties and operators setting in the Tools > Options menu under Debugging.

함수를 건너뛰도록 코드를 프로시저 단위로 실행Step over code to skip functions

함수 또는 메서드 호출인 코드 줄에 있는 경우 F11 키 대신에 F10 키(디버그 > 프로시저 단위로 실행)를 누를 수 있습니다.When you are on a line of code that is a function or method call, you can press F10 (Debug > Step Over) instead of F11.

F10 키는 앱 코드의 함수 또는 메서드를 한 단계씩 실행하지 않고 디버거를 진행합니다(코드는 계속 실행되고 있음).F10 advances the debugger without stepping into functions or methods in your app code (the code still executes). F10 키를 눌러 관심이 없는 코드를 건너뛸 수 있습니다.By pressing F10, you can skip over code that you're not interested in. 이러한 방식으로 관심이 많은 코드에 빨리 다가갈 수 있습니다.This way, you can quickly get to code that you are more interested in.

속성을 한 단계씩 코드 실행Step into a property

앞서 설명한 대로 기본적으로 디버거는 관리되는 속성 및 필드를 건너뛰지만 한 단계씩 코드 실행 명령을 통해 이 동작을 재정의할 수 있습니다.As mentioned earlier, by default the debugger skips over managed properties and fields, but the Step Into Specific command allows you to override this behavior.

속성 또는 필드를 마우스 오른쪽 단추로 클릭하고 한 단계씩 코드 실행을 선택한 다음, 사용 가능한 옵션 중 하나를 선택합니다.Right-click on a property or field and choose Step Into Specific, then choose one of the available options.

한 단계씩 코드 실행Step into Specific

이 예제에서 한 단계씩 코드 실행Path.set에 대한 코드로 안내합니다.In this example, Step Into Specific gets us to the code for Path.set.

한 단계씩 코드 실행Step into Specific

마우스를 사용하여 신속하게 코드의 지점까지 실행Run to a point in your code quickly using the mouse

디버거에서 실행하려면 클릭(여기까지 실행) 단추 실행하려면 클릭가 왼쪽에 표시될 때까지 코드 줄 위로 마우스를 가져갑니다.While in the debugger, hover over a line of code until the Run to Click (Run execution to here) button Run to Click appears on the left.

실행하려면 클릭Run to Click

참고

실행하려면 클릭(여기까지 실행) 단추는 Visual Studio 2017Visual Studio 2017부터 사용할 수 있습니다.The Run to Click (Run execution to here) button is available starting in Visual Studio 2017Visual Studio 2017.

실행하려면 클릭(여기까지 실행) 단추를 클릭합니다.Click the Run to Click (Run execution to here) button. 디버거는 클릭한 코드 줄로 이동합니다.The debugger advances to the line of code where you clicked.

이 단추 사용은 임시 중단점 설정과 비슷합니다.Using this button is similar to setting a temporary breakpoint. 이 명령은 앱 코드의 표시 지역 내에서 신속하게 살펴보는 데 유용합니다.This command is also handy for getting around quickly within a visible region of app code. 열려 있는 모든 파일에서 실행하려면 클릭을 사용할 수 있습니다.You can use Run to Click in any open file.

현재 함수에서 디버거 진행Advance the debugger out of the current function

경우에 따라 디버깅 세션을 계속 진행할 수 있지만 현재 함수까지 디버거를 진행하는 것이 좋습니다.Sometimes, you might want to continue your debugging session but advance the debugger all the way through the current function.

Shift + F11 키(또는 디버그 > 프로시저 나가기)를 누릅니다.Press Shift + F11 (or Debug > Step Out).

이 명령은 현재 함수가 반환될 때까지 앱 실행을 다시 시작하고 디버거를 진행시킵니다.This command resumes app execution (and advances the debugger) until the current function returns.

커서까지 실행Run to cursor

디버거에서 일시 중지되지 않고 코드를 편집하는 경우 앱의 코드 줄을 마우스 오른쪽 단추로 클릭하고 커서까지 실행을 선택합니다.When you are editing code (rather than paused in the debugger), right-click a line of code in your app and choose Run to Cursor. 이 명령은 디버깅을 시작하고 현재의 코드 줄에서 임시 중단점을 설정합니다.This command starts debugging and sets a temporary breakpoint on the current line of code.

커서까지 실행Run to Cursor

중단점을 설정한 경우 디버거는 적중하는 첫 번째 중단점에서 일시 중지됩니다.If you have set breakpoints, the debugger pauses on the first breakpoint that it hits.

커서까지 실행을 선택한 코드 줄에 도달할 때까지 F5 키를 누릅니다.Press F5 until you reach the line of code where you selected Run to Cursor.

이 명령은 코드를 편집하고, 신속하게 임시 중단점을 설정하는 동시에 디버거를 시작하려는 경우에 유용합니다.This command is useful when you are editing code and want to quickly set a temporary breakpoint and start the debugger at the same time.

참고

디버깅 중에 호출 스택 창에서 커서까지 실행을 사용할 수 있습니다.You can use Run to Cursor in the Call Stack window while you are debugging.

앱을 빠르게 다시 시작Restart your app quickly

디버그 도구 모음에서 다시 시작 앱 다시 시작 단추를 클릭합니다(Ctrl+Shift+F5).Click the Restart Restart App button in the Debug Toolbar (Ctrl + Shift +F5).

다시 시작을 누르면 앱을 중지하고 디버거를 다시 시작하는 것에 비해 시간이 절약됩니다.When you press Restart, it saves time versus stopping the app and restarting the debugger. 디버거가 코드를 실행하여 적중한 첫 번째 중단점에서 일시 중지합니다.The debugger pauses at the first breakpoint that is hit by executing code.

디버거를 중지하고 코드 편집기로 다시 돌아가려는 경우 다시 시작 대신 빨간색 중지 디버깅 중지 단추를 누를 수 있습니다.If you do want to stop the debugger and get back into the code editor, you can press the red stop Stop Debugging button instead of Restart.

코드를 편집하고 디버깅 계속하기(C#, VB, C++, XAML)Edit your code and continue debugging (C#, VB, C++, XAML)

Visual Studio에서 지원되는 대부분의 언어에서 디버깅 세션 중에 코드를 편집하고 디버깅을 계속할 수 있습니다.In most languages supported by Visual Studio, you can edit your code in the middle of a debugging session and continue debugging. 이 기능을 사용하려면 디버거에서 일시 중지된 동안 커서를 사용하여 코드를 클릭하고 편집을 수행한 후 F5, F10 또는 F11을 눌러 디버깅을 계속합니다.To use this feature, click into your code with your cursor while paused in the debugger, make edits, and press F5, F10, or F11 to continue debugging.

디버깅 편집하며 계속하기Edit and continue debugging

기능 사용 및 기능 제한에 대한 자세한 내용은 편집하며 계속하기를 참조하세요.For more information on using the feature and on feature limitations, see Edit and Continue.

디버깅 세션 중 XAML 코드를 수정하려면 XAML 핫 다시 로드를 사용하여 코드 작성 및 실행 중인 XAML 코드 디버그를 참조하세요.To modify XAML code during a debugging session, see Write and debug running XAML code with XAML Hot Reload.

데이터 팁을 사용하여 변수 검사Inspect variables with data tips

이제 조금 익숙해졌으므로 디버거를 사용하여 앱 상태(변수) 검사를 시작하기에 좋은 시점입니다.Now that you know your way around a little, you have a good opportunity to start inspecting your app state (variables) with the debugger. 변수를 검사할 수 있는 기능은 디버거의 가장 유용한 기능 중 일부이며, 이를 수행하는 다양한 방법이 있습니다.Features that allow you to inspect variables are some of the most useful features of the debugger, and there are different ways to do it. 종종 문제를 디버그하려고 할 때 변수가 특정 앱 상태에 있다고 예상되는 값을 저장하는지 여부를 확인하려고 합니다.Often, when you try to debug an issue, you are attempting to find out whether variables are storing the values that you expect them to have in a particular app state.

디버거에서 일시 중지되는 동안 개체 위로 마우스를 가져가면 해당 기본 속성 값이 표시됩니다(이 예제에서 market 031.jpg 파일 이름은 기본 속성 값입니다).While paused in the debugger, hover over an object with the mouse and you see its default property value (in this example, the file name market 031.jpg is the default property value).

데이터 팁 보기View a Data Tip

개체를 확장하여 해당 모든 속성(이 예제의 FullPath 속성 같은)을 확인합니다.Expand the object to see all its properties (such as the FullPath property in this example).

디버그할 때 개체의 속성 값을 빨리 확인하려 하는 경우가 많으며, 데이터 팁은 이 작업을 수행하기에 좋은 방법입니다.Often, when debugging, you want a quick way to check property values on objects, and the data tips are a good way to do it.

지원되는 언어 대부분에서 디버깅 세션 중에 코드를 편집할 수 있습니다.In most supported languages, you can edit code in the middle of a debugging session. 자세한 내용은 편집하며 계속하기를 참조하세요.For more info, see Edit and Continue.

자동 및 지역 창을 사용하여 변수 검사Inspect variables with the Autos and Locals windows

디버깅하는 동안 코드 편집기의 맨 아래에 있는 자동 창을 살펴봅니다.While debugging, look at the Autos window at the bottom of the code editor.

자동 창Autos Window

자동 창에는 변수와 함께 해당 현재 값 및 형식이 표시됩니다.In the Autos window, you see variables along with their current value and their type. 자동 창에서는 현재 줄 또는 이전 줄에 사용된 모든 변수를 표시합니다(C++의 창에는 이전 세 개의 코드 줄의 변수가 표시됩니다.The Autos window shows all variables used on the current line or the preceding line (In C++, the window shows variables in the preceding three lines of code. 언어별 동작에 대한 설명서를 참조하세요).Check documentation for language-specific behavior).

참고

JavaScript에는 지역 창이 지원되지만 자동 창은 지원되지 않습니다.In JavaScript, the Locals window is supported but not the Autos window.

다음으로, 지역 창을 살펴봅니다.Next, look at the Locals window. 지역 창에는 현재 범위에 있는 변수가 표시됩니다.The Locals window shows you the variables that are currently in scope.

지역 창Locals Window

이 예제에서는 this 개체 및 개체 f가 범위 안에 있습니다.In this example, the this object and the object f are in scope. 자세한 내용은 자동 및 로컬 창에서 변수 검사를 참조하세요.For more info, see Inspect Variables in the Autos and Locals Windows.

조사식 설정Set a watch

조사식 창을 사용하여 주시하려는 변수(또는 식)를 지정할 수 있습니다.You can use a Watch window to specify a variable (or an expression) that you want to keep an eye on.

디버깅하는 동안 개체를 마우스 오른쪽 단추로 클릭하고 조사식 추가를 선택합니다.While debugging, right-click an object and choose Add Watch.

조사식 창Watch Window

이 예제에서 f 개체에 조사식을 설정하면 디버거를 통해 이동하면서 해당 값의 변화를 확인할 수 있습니다.In this example, you have a watch set on the f object, and you can see its value change as you move through the debugger. 다른 변수 창과 달리 조사식 창에는 항상 주시하고 있는 변수가 표시됩니다(범위를 벗어나면 회색으로 표시됩니다).Unlike the other variable windows, the Watch windows always show the variables that you are watching (they're grayed out when out of scope).

자세한 내용은 조사식 및 간략한 조사식 창을 사용하여 조사식 설정 참조For more info, see Set a Watch using the Watch and QuickWatch Windows

호출 스택 검사Examine the call stack

디버깅하는 동안 호출 스택 창을 클릭합니다. 이 창은 기본적으로 오른쪽 아래의 창에서 열립니다.Click the Call Stack window while you are debugging, which is by default open in the lower right pane.

호출 스택 검사Examine the Call Stack

호출 스택 창에는 메서드와 함수가 호출되는 순서가 표시됩니다.The Call Stack window shows the order in which methods and functions are getting called. 맨 위쪽의 줄에는 현재 함수(이 예제에서는 Update 메서드)가 표시됩니다.The top line shows the current function (the Update method in this example). 두 번째 줄에는 UpdatePath.set 속성 등에서 호출되었음이 표시됩니다.The second line shows that Update was called from the Path.set property, and so on. 호출 스택은 앱의 실행 흐름을 검사하고 파악할 수 있는 좋은 방법입니다.The call stack is a good way to examine and understand the execution flow of an app.

참고

호출 스택 창은 Eclipse와 같은 일부 IDE의 디버그 관점과 비슷합니다.The Call Stack window is similar to the Debug perspective in some IDEs like Eclipse.

코드 줄을 두 번 클릭하면 해당 소스 코드를 살펴보고 디버거에서 검사하고 있는 현재 범위를 변경할 수도 있습니다.You can double-click a line of code to go look at that source code and that also changes the current scope being inspected by the debugger. 이렇게 하면 디버거가 진행되지 않습니다.This does not advance the debugger.

또한 호출 스택 창에서 오른쪽 클릭 메뉴를 사용하여 다른 작업을 수행할 수도 있습니다.You can also use right-click menus from the Call Stack window to do other things. 예를 들어 지정된 함수에 중단점을 삽입하고, 커서까지 실행을 사용하여 앱을 다시 시작하고, 소스 코드를 검사할 수 있습니다.For example, you can insert breakpoints into specific functions, restart your app using Run to Cursor, and to go examine source code. 방법: 호출 스택 검사를 참조하세요.See How to: Examine the Call Stack.

예외 검사Examine an exception

앱에서 예외를 throw하는 경우 디버거는 예외를 throw한 코드 줄로 이동합니다.When your app throws an exception, the debugger takes you to the line of code that threw the exception.

예외 도우미Exception Helper

이 예제에서는 예외 도우미에 경로가 올바른 형식이 아니라는 오류 메시지와 System.Argument 예외가 표시됩니다.In this example, the Exception Helper shows you a System.Argument exception and an error message that says that the path is not a legal form. 따라서 메서드 또는 함수 인수에서 오류가 발생한 것을 알 수 있습니다.So, we know the error occurred on a method or function argument.

이 예제에서는 DirectoryInfo 호출이 value 변수에 저장된 빈 문자열에서 발생한 오류를 지정했습니다.In this example, the DirectoryInfo call gave the error on the empty string stored in the value variable.

예외 도우미는 오류를 디버깅할 수 있는 좋은 기능입니다.The Exception Helper is a great feature that can help you debug errors. 오류 세부 정보 보기와 같은 작업을 수행하고 예외 도우미에서 조사식을 추가할 수도 있습니다.You can also do things like view error details and add a watch from the Exception Helper. 또는 필요한 경우 특정 예외를 throw하는 것에 대한 조건을 변경할 수 있습니다.Or, if needed, you can change conditions for throwing the particular exception. 코드의 예외를 처리하는 방법에 대한 자세한 내용은 디버깅 기법 및 도구를 참조하세요.For more information on how to handle exceptions in your code, see Debugging techniques and tools.

참고

예외 도우미(Exception Helper)는 Visual Studio 2017Visual Studio 2017부터 예외 도우미(Exception Assistant)를 대체했습니다.The Exception Helper replaced the Exception Assistant starting in Visual Studio 2017Visual Studio 2017.

예외 설정 노드를 확장하여 이 예외 형식을 처리하는 방법에 대한 더 많은 옵션을 확인합니다. 그러나 이 작업을 위해 아무 것도 변경할 필요가 없습니다!Expand the Exception Settings node to see more options on how to handle this exception type, but you don't need to change anything for this tour!

디버깅 구성Configure debugging

프로젝트를 디버그 또는 릴리스 구성으로 빌드하도록 구성하거나, 디버그를 위한 프로젝트 속성을 구성하거나, 디버그를 위한 일반 설정을 구성할 수 있습니다.You can configure your project to build as a Debug or Release configuration, configure project properties for debugging, or configure general settings for debugging. 또한 DebuggerDisplay 특성 또는 C/C++의 경우는 NatVis 프레임워크와 같은 기능을 사용하여 사용자 지정 정보를 표시하도록 디버거를 구성할 수 있습니다.In addition, you can configure the debugger to display custom information using features such as DebuggerDisplay attribute or, for C/C++, the NatVis framework.

디버깅 속성은 프로젝트 형식마다 고유합니다.Debugging properties are specific to each project type. 예를 들어, 애플리케이션을 시작할 때 전달할 인수를 지정할 수 있습니다.For example, you can specify an argument to pass to the application when you start it. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택하여 프로젝트 관련 속성에 액세스할 수 있습니다.You can access the project-specific properties by right-clicking the project in Solution Explorer and selecting Properties. 디버깅 속성은 일반적으로 특정 프로젝트 형식에 따라 빌드 또는 디버그 탭에 나타납니다.Debugging properties typically appear in the Build or Debug tab, depending on the particular project type.

프로젝트 속성Project properties

Azure App Service에서 라이브 ASP.NET 앱 디버그Debug live ASP.NET apps in Azure App Service

스냅샷 디버거는 관심이 있는 코드가 실행될 때 프로덕션 상태 앱의 스냅샷을 생성합니다.the Snapshot Debugger takes a snapshot of your in-production apps when code that you are interested in executes. 디버거가 스냅샷을 생성하도록 명령하려면 코드에서 snappoint와 logpoint를 설정합니다.To instruct the debugger to take a snapshot, you set snappoints and logpoints in your code. 디버거를 통해 프로덕션 애플리케이션의 트래픽에 영향을 미치지 않으면서 정확히 무엇이 잘못되었는지를 볼 수 있습니다.The debugger lets you see exactly what went wrong, without impacting traffic of your production application. 스냅샷 디버거를 사용하면 프로덕션 환경에서 발생하는 문제를 해결하는 데 걸리는 시간을 상당히 줄일 수 있습니다.The Snapshot Debugger can help you dramatically reduce the time it takes to resolve issues that occur in production environments.

스냅샷 디버거 시작Launch the snapshot debugger

스냅샷 컬렉션은 Azure App Service에서 실행되는 ASP.NET 애플리케이션에서 사용할 수 있습니다.Snapshot collection is available for ASP.NET applications running in Azure App Service. ASP.NET 애플리케이션은 .NET Framework 4.6.1 이상에서 실행돼야 하며, ASP.NET Core 애플리케이션은 Windows의 .NET Core 2.0 이상에서 실행돼야 합니다.ASP.NET applications must be running on .NET Framework 4.6.1 or later, and ASP.NET Core applications must be running on .NET Core 2.0 or later on Windows.

자세한 내용은 스냅샷 디버거를 사용하여 라이브 ASP.NET 앱 디버그를 참조하세요.For more information, see Debug live ASP.NET apps using the Snapshot Debugger.

IntelliTrace 뒤로 이동을 사용하여 스냅샷 보기(Visual Studio Enterprise)View snapshots with IntelliTrace step-back (Visual Studio Enterprise)

IntelliTrace 뒤로 이동은 모든 중단점 및 디버거 단계 이벤트에서 애플리케이션의 스냅샷을 자동으로 생성합니다.IntelliTrace step-back automatically takes a snapshot of your application at every breakpoint and debugger step event. 기록된 스냅샷을 통해 이전 중단점 또는 단계로 돌아가서 애플리케이션의 과거 상태를 볼 수 있습니다.The recorded snapshots enable you to go back to previous breakpoints or steps and view the state of the application as it was in the past. IntelliTrace 뒤로 이동을 사용하면 이전 애플리케이션 상태를 보고 싶지만 디버깅을 다시 시작하거나 원하는 앱 상태를 다시 만들지 않으려는 경우에 시간을 절약할 수 있습니다.IntelliTrace step-back can save you time when you want to see the previous application state but don't want to restart debugging or recreate the desired app state.

디버그 도구 모음의 뒤로 가기앞으로 가기 단추를 사용하여 이동하고 스냅샷을 볼 수 있습니다.You can navigate and view snapshots by using the Step Backward and Step Forward buttons in the Debug toolbar. 이 단추를 사용하여 진단 도구 창의 이벤트 탭에 나타나는 이벤트를 탐색할 수 있습니다.These buttons navigate the events that appear in the Events tab in the Diagnostic Tools window.

뒤로 이동 및 앞으로 이동 단추Step Backward and Forward Buttons

자세한 내용은 IntelliTrace를 사용하여 이전 앱 상태 검사 페이지를 참조하세요.For more information, see the Inspect previous app states using IntelliTrace page.

성능 문제 디버그Debug performance issues

앱이 너무 느리게 실행되거나 너무 많은 메모리를 사용하는 경우 먼저 프로파일링 도구를 사용하여 앱을 테스트해야 할 수 있습니다.If your app runs too slowly or uses too much memory, you may need to test your app with the profiling tools early on. CPU 사용량 도구 및 메모리 분석기와 같은 프로파일링 도구에 대한 자세한 내용은 프로파일링 도구 살펴보기를 참조하세요.For more information about profiling tools such as the CPU Usage tool and the Memory Analyzer, see First look at the profiling tools.

다음 단계Next steps

이 자습서에서는 많은 디버거 기능을 간략하게 살펴봤습니다.In this tutorial, you've had a quick look at many debugger features. 중단점과 같은 이러한 기능 중 하나를 더 자세히 살펴보기를 원할 수 있습니다.You may want a more in-depth look at one of these features, such as breakpoints.