Python 코드 디버깅Debugging Your Python Code

Visual Studio에서는 실행 중인 프로세스에 연결하고, 조사식 및 직접 실행 창에서 식을 계산하고, 지역 변수, 중단점, 문 단계별 실행/프로시저 나가기/프로시저 단위 실행, 다음 문 설정 등을 검사하는 작업을 포함한 포괄적인 디버깅 환경을 Python에 제공합니다.Visual Studio provides a comprehensive debugging experience for Python, including attaching to running processes, evaluating expressions in the Watch and Immediate windows, inspecting local variables, breakpoints, step in/out/over statements, Set Next Statement, and more.

디버깅 개요의 경우 Python 디버깅(Microsoft Virtual Academy, 3분 32초)을 참조하세요.For a debugging overview, see Debugging Python (Microsoft Virtual Academy, 3m32s).

항목 내용:In this topic:

또한 다음 시나리오별 디버깅 항목을 참조하세요.Also see the following scenario-specific debugging topics:

Visual Studio의 Python은 프로젝트 없이 디버깅을 지원합니다.Python in Visual Studio supports debugging without a project. 편집기에서 마우스 오른쪽 단추를 클릭하여 독립 실행형 Python 파일을 열고 디버깅 시작을 선택하면 Visual Studio가 전역 기본 환경(Python 환경 참조)에서 인수 없이 스크립트를 실행합니다.With a stand-alone Python file open, right-click in the editor, select Start with Debugging, and Visual Studio launches the script with the global default environment (see Python Environments) and no arguments. 하지만 이때부터 디버깅을 전적으로 지원합니다.But from then on, you have full debugging support.

환경 및 인수를 제어하려면 코드에 대한 프로젝트를 만듭니다. 이 작업은 기존 Python 코드에서 프로젝트 템플릿으로 쉽게 수행할 수 있습니다.To control the environment and arguments, create a project for the code, which is easily done with the From Existing Python Code project template.

기본적인 디버깅Basic debugging

기본적인 디버깅 워크플로에는 다음 섹션에서 설명한 대로 중단점 설정, 단계별 코드 실행, 값 검사 및 예외 처리가 포함됩니다.The basic debugging workflow involves settings breakpoints, stepping through code, inspecting values, and handling exceptions as described in the following sections. Visual Studio 디버거에 대한 자세한 내용은 Visual Studio에서 디버깅을 참조하세요.For complete details on the Visual Studio debugger, see Debugging in Visual Studio.

디버깅 세션은 디버그 > 디버깅 시작 명령, 도구 모음의 시작 단추 또는 F5 키로 시작됩니다.A debugging session starts with the Debug > Start Debugging command, the Start button on the toolbar, or the F5 key. 이러한 작업은 프로젝트의 활성 환경 및 프로젝트 속성(프로젝트 디버깅 옵션 참조)에 지정된 명령줄 인수 또는 검색 경로가 포함된 프로젝트의 시작 파일(솔루션 탐색기에서 굵게 표시됨)을 실행합니다.These actions launch your project's startup file (shown in bold in Solution Explorer) with the project's active environment and any command-line arguments or search paths that have been specified in Project Properties (see Project debugging options. 그러나 몇 가지 이유로 시작 파일을 설정하지 않은 경우 Python 출력 창이 잠깐 나타났다가 사라집니다.If for some reason you don't have a startup file set, however, a Python output window briefly appears and disappears. 이 경우 해당 파일을 마우스 오른쪽 단추로 클릭하고 시작 파일로 설정을 선택합니다.In this case, right-click the appropriate file and select Set as Startup File.

참고

디버거는 프로젝트에 대해 항상 활성 Python 환경으로 시작합니다.The debugger always starts with the active Python environment for the project. 환경을 변경하려면 Python 환경에서 설명한 대로 다른 환경을 사용하도록 설정합니다.To change the environment, make a different one active as described on Python Environments.

중단점Breakpoints

중단점은 프로그램 상태를 검사할 수 있도록 표시된 지점에서 코드 실행을 중지합니다.Breakpoints stop execution of code at a marked point so you can inspect the program state. 코드 편집기의 왼쪽 여백을 클릭하거나 코드 줄을 마우스 오른쪽 단추로 클릭하고 중단점 > 중단점 삽입을 선택하여 중단점을 설정합니다.Set breakpoints by clicking in the left margin of the code editor or by right-clicking a line of code and selecting Breakpoint > Insert Breakpoint. 각 행에 중단점과 함께 빨간색 점이 표시됩니다.A red dot appears on each line with a breakpoint.

Visual Studio의 중단점

빨간색 점을 클릭하거나 코드 줄을 마우스 오른쪽 단추로 클릭하고 중단점 > 중단점 삭제를 선택하면 중단점이 제거됩니다.Clicking the red dot or right-clicking the line of code and selecting Breakpoint > Delete Breakpoint removes the breakpoint. 제거하는 대신, 중단점 > 중단점 사용 안 함 명령을 통해 사용하지 않도록 설정할 수도 있습니다.You can also disable it without removing it using the Breakpoint > Disable Breakpoint command.

참고

Python의 일부 중단점은 다른 프로그래밍 언어에 익숙한 개발자에게 놀라운 경험이 될 수 있습니다.Some breakpoints in Python can be surprising for developers who have worked with other programming languages. Python에서 전체 파일은 실행 가능한 코드이므로 최상위 클래스 또는 함수 정의를 처리하기 위해 로드될 때 Python에서 해당 파일을 실행합니다.In Python, the entire file is executable code, so Python runs the file when it's loaded to process any top-level class or function definitions. 중단점이 설정되면 디버거에서 도중에 클래스 선언을 통해 중단되는 것을 알 수 있습니다.If a breakpoint has been set, you may find the debugger breaking part-way through a class declaration. 이 동작은 때때로 놀랍긴 해도 올바른 동작입니다.This behavior the correct, even though it's sometimes surprising.

변수가 특정 값이나 값 범위에 도달했을 때만 중단하는 것과 같이 중단점을 트리거하는 조건을 사용자 지정할 수 있습니다.You can customize the conditions under which a breakpoint is triggered, such as breaking only when a variable is set to a certain value or value range. 조건을 설정하려면 중단점의 빨간색 점을 마우스 오른쪽 단추로 클릭하고 조건을 선택한 다음 Python 코드를 사용하여 식을 만듭니다.To set conditions, right-click the breakpoint's red dot, select Condition, then create expressions using Python code. Visual Studio의 이 기능에 대한 자세한 내용은 중단점 조건을 참조하세요.For full details on this feature in Visual Studio, see Breakpoint conditions

조건을 설정할 때 작업을 설정하고, 출력 창에 기록할 메시지를 만들고, 필요에 따라 자동으로 계속 실행할 수도 있습니다.When setting conditions, you can also set Action and create a message to log to the output window, optionally continuing execution automatically. 메시지를 기록하면 로깅 코드를 응용 프로그램에 직접 추가하지 않고 추적점이란 것이 생성됩니다.Logging a message creates what is called a tracepoint without adding logging code to your application directly:

중단점이 있는 추적점 만들기

단계별 코드 실행Stepping through code

중단점에서 중지되면 다시 중지되기 전에 코드를 단계별로 실행하거나 코드 블록을 실행하는 다양한 방법이 있습니다.Once stopped at a breakpoint, you have various ways to step through code or run blocks of code before breaking again. 이러한 명령은 위쪽의 디버그 도구 모음, 디버그 메뉴, 코드 편집기에서 마우스 오른쪽 단추로 클릭하는 상황에 맞는 메뉴 및 바로 가기 키 등을 포함하여 다양한 위치에서 사용할 수 있습니다(모든 위치에 모든 명령이 있는 것은 아님).These commands are available in a number of places, including the top debug toolbar, the Debug menu, on the right-click context menu in the code editor, and through keyboard shortcuts (through not all commands are in all places):

기능Feature 키 입력Keystroke 설명Description
ContinueContinue F5F5 다음 중단점에 도달할 때까지 코드를 실행합니다.Runs code until the next breakpoint is reached.
한 단계씩 코드 실행Step Into F11F11 다음 문을 실행하고 중지합니다.Runs the next statement and stops. 다음 문이 함수 호출인 경우 디버거는 호출되는 함수의 첫 번째 줄에서 중지합니다.If the next statement is a call to a function, the debugger stops at the first line of the function being called.
프로시저 단위 실행Step Over F10F10 함수 호출(모든 코드 실행) 및 반환 값 적용을 포함하여 다음 문을 실행합니다.Runs the next statement, including making a call to a function (running all its code) and applying any return value. 프로시저 단위 실행을 사용하면 디버그할 필요가 없는 함수를 쉽게 건너뛸 수 있습니다.Stepping over allows you to easily skip functions that you do not need to debug.
프로시저 나가기Step Out Shift+F11Shift+F11 현재 함수가 끝날 때까지 코드를 실행한 후 호출하는 문으로 이동합니다.Runs code until the end of the current function, then steps to the calling statement. 이 명령은 현재 함수의 나머지 부분을 디버그할 필요가 없을 때 유용합니다.This command is useful when you don't need to debug the remainder of the current function.
커서까지 실행Run to Cursor Ctrl+F10Ctrl+F10 편집기에서 캐럿의 위치까지 코드를 실행합니다.Runs code up to the location of the caret in the editor. 이 명령을 사용하면 디버그할 필요가 없는 코드 세그먼트를 쉽게 건너뛸 수 있습니다.This command allows you to easily skip over a segment of code that you don't need to debug.
다음 문 설정Set Next Statement Ctrl+Shift+F10Ctrl+Shift+F10 코드의 현재 실행 지점을 캐럿 위치로 변경합니다.Changes the current run point in the code to the location of the caret. 이 명령을 사용하면 코드에 결함이 있거나 원하지 않는 부작용이 발생했을 때와 같은 경우 실행되지 않도록 코드 세그먼트를 생략할 수 있습니다.This command allows you to omit a segment of code from being run at all, such as when you know the code is faulty or produces and unwanted side-effect.
다음 문 표시Show Next Statement Alt+Num *Alt+Num * 실행할 다음 문으로 돌아갑니다.Returns you to the next statement to run. 이 명령은 코드를 둘러보았지만 디버거가 중지된 위치가 기억나지 않는 경우에 매우 유용합니다.This command is helpful if you've been looking around in your code and don't remember where the debugger is stopped.

값 검사 및 수정Inspecting and modifying values

디버거에서 중지되면 변수 값을 검사하고 수정할 수 있습니다.When stopped in the debugger, you can inspect and modify the values of variables. [조사식] 창을 사용하여 개별 변수와 사용자 지정 식을 모니터링할 수도 있습니다.You can also use the Watch window to monitor individual variables as well as custom expressions. 자세한 내용은 변수 검사를 참조하세요.(See Inspect Variables for general details.)

DataTips를 사용하여 값을 보려면 편집기에서 변수 위로 마우스를 이동하면 됩니다.To view a value using DataTips, simply hover the mouse over any variable in the editor. 값을 클릭하여 변경할 수 있습니다.You can click on the value to change it:

디버거의 DataTips

[자동] 창(디버그 > 창 > 자동)에는 현재 문에 가까운 변수와 식이 포함되어 있습니다.The Autos window (Debug > Windows > Autos) contains variables and expressions that are close to the current statement. 값 열을 두 번 클릭하거나 선택하고 F2 키를 눌러 값을 편집할 수 있습니다.You can double-click in the value column or select and press F2 to edit the value:

디버거의 자동 창

[지역] 창(디버그 > 창 > 지역)에는 현재 범위에 있는 모든 변수가 표시되며 다시 편집될 수 있습니다.The Locals window (Debug > Windows > Locals) displays all variables that are in the current scope, which can again be edited:

디버거의 지역 창

[자동] 및 [지역] 창 사용에 대한 자세한 내용은 자동 및 지역 창에서 변수 검사를 참조하세요.For more on using Autos and Locals, see Inspecting Variables in the Autos and Locals Windows.

[조사식] 창(디버그 > 창 > 조사식 > 조사식 1-4)을 사용하면 임의의 Python 식을 입력하고 결과를 볼 수 있습니다.The Watch windows (Debug > Windows > Watch > Watch 1-4) allow you to enter arbitrary Python expressions and view the results. 식은 각 단계마다 다시 계산됩니다.Expressions are reevaluated for each step:

디버거의 조사식 창

조사식 사용에 대한 자세한 내용은 조사식 창과 간략한 조사식 창을 사용하여 변수에 대한 조사식 설정을 참조하세요.For more on using Watch, see Setting a Watch on Variables using the Watch and QuickWatch Windows.

문자열 값(str, unicode, bytesbytearray는 모두 이 목적을 위한 문자열로 간주됨)을 검사하면 값의 오른쪽에 돋보기 모양 아이콘이 나타납니다.When inspected a string value(str, unicode, bytes, and bytearray are all considered strings for this purpose), a magnifying glass icon appears on the right side of the value. 아이콘을 클릭하면 팝업 대화 상자에서 따옴표가 없는 문자열 값이 줄 바꿈 및 스크롤과 함께 표시되며, 긴 문자열에 유용합니다.Clicking the icon displays the unquoted string value in a popup dialog, with wrapping and scrolling, which is useful for long strings. 또한 아이콘의 드롭다운 화살표를 선택하면 일반 텍스트, HTML, XML 및 JSON 시각화를 선택할 수 있습니다.In addition, selecting the drop-down arrow on the icon allows you to select plain text, HTML, XML, and JSON visualizations:

문자열 시각화 도우미

HTML, XML 및 JSON 시각화는 구문 강조 표시 및 트리 보기가 있는 별도의 팝업 창에 표시됩니다.HTML, XML, and JSON visualizations appear in separate popup windows with syntax highlighting and tree views.

예외Exceptions

디버그하는 동안 프로그램에서 오류가 발생하지만 이 오류에 대한 예외 처리기가 없으면 디버거가 예외 지점에서 중단됩니다.If an error occurs in your program during debugging, but you don't have an exception handler for it, the debugger breaks at the point of the exception:

예외 팝업

이 지점에서 호출 스택을 포함하여 프로그램 상태를 검사할 수 있습니다.At this point you can inspect the program state, including the call stack. 그러나 코드를 단계별로 실행하려고 하면 예외를 처리하거나 프로그램을 종료할 때까지 예외가 계속 throw됩니다.However, if you attempt to step through the code, the exception continues being thrown until it is either handled or your program exits.

디버그 > 창 > 예외 설정 메뉴 명령은 Python 예외를 확장할 수 있는 창을 엽니다.The Debug > Windows > Exception Settings menu command brings up a window in which you can expand Python Exceptions:

예외 창

각 예외의 확인란은 예외가 발생했을 때 디버거가 항상 중단되는지 여부를 제어합니다.The checkbox for each exception controls whether the debugger always breaks when it is raised. 특정 예외에 대해 더 자주 중단하려는 경우 이 상자를 선택합니다.Check this box when you want to break more often for a particular exception.

기본적으로 예외 처리기가 소스 코드에 없는 경우 대부분의 예외가 중단됩니다.By default, most exceptions break when an exception handler cannot found in the source code. 이 동작을 변경하려면 예외를 마우스 오른쪽 단추로 클릭하고 사용자 코드에서 처리되지 않은 경우 계속을 선택하거나 선택 취소합니다.To change this behavior, right-click any exception and check or uncheck Continue When Unhandled in User Code. 예외로 인해 발생하는 중단을 줄이려면 이 상자를 선택 취소합니다.Clear this box when you want to break less often for an exception.

이 목록에 표시되지 않은 예외를 구성하려면 추가 단추를 클릭하여 추가합니다.To configure an exception that does not appear in this list, click the Add button to add it. 이름은 예외의 전체 이름과 일치해야 합니다.The name must match the full name of the exception.

프로젝트 디버깅 옵션Project debugging options

기본적으로 디버거는 표준 Python 시작 관리자를 통해 명령줄 인수와 다른 특수 경로나 조건이 없는 프로그램을 시작합니다.By default, the debugger starts your program with the standard Python launcher, no command-line arguments, and no other special paths or conditions. 시작 옵션은 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택하고 디버그 탭을 선택하여 액세스한 프로젝트의 디버그 속성을 통해 변경됩니다.Startup options are changed through the project's debug properties accessed by right-clicking your project in Solution Explorer, selecting Properties, and selecting the Debug tab.

프로젝트 디버그 속성

실행 모드 옵션Launch mode options

옵션Option 설명Description
표준 Python 시작 관리자Standard Python launcher CPython, IronPython 및 변형(예: Stackless Python)과 호환되는 휴대용 Python으로 작성된 디버깅 코드를 사용합니다.Uses debugging code written in portable Python that is compatible with CPython, IronPython, and variants such as Stackless Python. 순수 Python 코드를 디버그하기 위한 최상의 환경을 제공합니다.It provides the best experience for debugging pure Python code. 실행 중인 python.exe 프로세스에 연결하면 이 시작 관리자가 사용됩니다.When you attach to a running python.exe process, this launcher is used. 이 시작 관리자는 CPython에 대한 혼합 모드 디버깅도 제공하므로 C/C++ 코드와 Python 코드 간에 단계별로 완벽하게 실행할 수 있습니다.This launcher also provides mixed-mode debugging for CPython, allowing you to step seamlessly between C/C++ code and Python code.
웹 시작 관리자Web launcher 시작 시 기본 브라우저를 시작하고 템플릿 디버깅을 활성화합니다.Starts your default browser on launch and enables debugging of templates. 자세한 내용은 웹 템플릿 디버깅 섹션을 참조하세요.See the Web template debugging section for more information.
Django 웹 시작 관리자Django Web launcher 웹 시작 관리자와 동일하며, 이전 버전과의 호환성을 위해서만 표시됩니다.Identical to the Web launcher and shown only for backwards compatibility.
IronPython(.NET) 시작 관리자IronPython (.NET) launcher IronPython에서만 작동하는 .NET 디버거를 사용하지만 C# 및 VB를 포함한 모든 .NET 언어 프로젝트 간 단계별 실행을 허용합니다.Uses the .NET debugger, which only works with IronPython but allows for stepping between any .NET language project, including C# and VB. IronPython을 호스팅하는 실행 중인 .NET 프로세스에 연결하는 경우 이 시작 관리자가 사용됩니다.This launcher is used if you attach to a running .NET process that is hosting IronPython.

실행 옵션(검색 경로, 시작 인수 및 환경 변수)Run options (search paths, startup arguments, and environment variables)

옵션Option 설명Description
검색 경로Search Paths 이러한 값은 솔루션 탐색기에서 프로젝트의 검색 경로 노드에 표시되는 값과 일치합니다.These values match what's shown in the project's Search Paths node in Solution Explorer. 여기서 해당 값을 수정할 수는 있지만, 폴더를 탐색하고 경로를 상대 형식으로 자동 변환할 수 있는 [솔루션 탐색기]를 사용하는 것이 더 쉽습니다.You can modify this value here, but it's easier to use Solution Explorer that lets you browse folders and automatically converts paths to relative form.
스크립트 인수Script Arguments 이러한 인수는 스크립트를 시작하는 데 사용되는 명령에 추가되며, 스크립트의 파일 이름 뒤에 표시됩니다.These arguments are added to the command used to launch your script, appearing after your script's filename. 스크립트에서 첫 번째 항목은 sys.argv[1], 두 번째 항목은 sys.argv[2] 등으로 사용할 수 있습니다.The first item here is available to your script as sys.argv[1], the second as sys.argv[2], and so on.
인터프리터 인수Interpreter Arguments 이러한 인수는 시작 관리자 명령줄에서 스크립트의 이름 앞에 추가됩니다.These arguments are added to the launcher command line before the name of your script. 여기서 공통 인수는 경고를 제어하기 위한 -W ..., 프로그램을 약간 최적화하기 위한 -O 및 버퍼링되지 않은 IO를 사용하기 위한 -u입니다.Common arguments here are -W ... to control warnings, -O to slightly optimize your program, and -u to use unbuffered IO. IronPython 사용자는 이 필드를 사용하여 -X:Frames 또는 -X:MTA와 같은 -X 옵션을 전달할 수 있습니다.IronPython users are likely to use this field to pass -X options, such as -X:Frames or -X:MTA.
인터프리터 경로Interpreter Path 현재 환경과 연결된 경로를 재정의합니다.Overrides the path associated with the current environment. 값은 비표준 인터프리터로 스크립트를 시작하는 데 유용할 수 있습니다.value may be useful for launching your script with a non-standard interpreter.
환경 변수Environment Variables 이 여러 줄 텍스트 상자에 NAME=VALUE 형식의 항목을 추가합니다.In this multi-line text box, add entries of the form NAME=VALUE. 이 설정은 검색 경로 설정에 따라 PYTHONPATH가 설정된 후에 마지막으로 기존 전역 환경 변수의 맨 위에 적용되므로 다른 변수를 수동으로 재정의하는 데 사용될 수 있습니다.Because this setting is applied last, on top of any existing global environment variables, and after PYTHONPATH is set according to the Search Paths setting, it can be used to manually override any of those other variables.

<a name="the-debug-interactive-window"<a name="the-debug-interactive-window"

직접 실행 창 및 대화형 창Immediate and interactive windows

디버깅 세션 중에 사용할 수 있는 두 개의 대화형 창, 즉 표준 Visual Studio 직접 실행 창과 Python 대화형 디버그 창이 있습니다.There are two interactive windows you can use during a debugging session: the standard Visual Studio Immediate window, and the Python Debug Interactive window.

[직접 실행] 창(디버그 > 창 > 직접 실행)은 Python 식을 빠르게 계산하고 실행 중인 프로그램 내에서 변수를 검사하거나 할당하는 데 사용됩니다.The Immediate window (Debug > Windows > Immediate) is used for quick evaluation of Python expressions and inspection or assignment of variables within the running program. 자세한 내용은 일반 직접 실행 창 항목을 참조하세요.See the general Immediate Window topic for details.

Python 대화형 디버그 창(디버그 > 창 > Python 대화형 디버그)은 코드 작성 및 실행을 포함하여 디버깅 중에 완벽한 대화형 REPL 환경을 사용할 수 있기 때문에 더욱 다양하게 구성되었습니다.The Python Debug Interactive window (Debug > Windows > Python Debug Interactive) is richer as it makes the full Interactive REPL experience available while debugging, including writing and running code. 디버그 > 프로세스에 연결를 통해 연결된 프로세스를 포함하여 표준 Python 시작 관리자를 사용하여 디버거에서 시작된 모든 프로세스에 자동으로 연결됩니다.It automatically connects to any process started in the debugger using the Standard Python launcher (including processes attached through Debug > Attach to Process). 그러나 C/C++ 혼합 모드 디버깅을 사용하는 경우에는 사용할 수 없습니다.It's not, however, available when using mixed-mode C/C++ debugging.

Python 대화형 디버그 창

대화형 디버그 창은 표준 REPL 명령 외에도 다음과 같은 특수 메타 명령을 지원합니다.The Debug Interactive window supports special meta-commands in addition to the standard REPL commands:

명령Command 인수Arguments 설명Description
$continue, $cont, $c$continue, $cont, $c 현재 문에서 프로그램 실행을 시작합니다.Starts running the program from the current statement.
$down, $d$down, $d 스택 추적에서 현재 프레임을 한 수준 아래로 이동합니다.Move the current frame one level down in the stack trace.
$frame 현재 프레임 ID를 표시합니다.Displays the current frame id.
$frame 프레임 IDframe id 현재 프레임을 지정된 프레임 ID로 전환합니다.Switches the current frame to the specified frame id.
$load 파일에서 명령을 로드하고 완료될 때까지 실행합니다.Loads commands from file and executes until complete
$proc 현재 프로세스 ID를 표시합니다.Displays the current process id.
$proc 프로세스 IDprocess id 현재 프로세스를 지정된 프로세스 ID로 전환합니다.Switches the current process to the specified process id.
$procs 현재 디버깅 중인 프로세스를 나열합니다.Lists the processes currently being debugged.
$stepin, $step, $s$stepin, $step, $s 가능한 경우 다음 함수 호출을 단계별로 실행합니다.Steps into the next function call, if possible.
$stepout, $return, $r$stepout, $return, $r 현재 함수에서 나갑니다.Steps out of the current function.
$stepover, $until, $unt$stepover, $until, $unt 다음 함수 호출을 건너뜁니다.Steps over the next function call.
$thread 현재 스레드 ID를 표시합니다.Displays the current thread id.
$thread 스레드 IDthread id 현재 스레드를 지정된 스레드 ID로 전환합니다.Switches the current thread to the specified thread id.
$threads 현재 디버깅 중인 스레드를 나열합니다.Lists the threads currently being debugged.
$up, $u$up, $u 스택 추적에서 현재 프레임을 한 레벨 위로 이동합니다.Move the current frame one level up in the stack trace.
$where, $w, $bt$where, $w, $bt 현재 스레드의 프레임을 나열합니다.Lists the frames for the current thread.

프로세스, 스레드 및 호출 스택과 같은 표준 디버거 창은 대화형 디버그 창과 동기화되지 않습니다.Note that the standard debugger windows such as Processes, Threads, and Call Stack are not synchronized with the Debug Interactive window. 대화형 디버그 창에서 활성 프로세스, 스레드 또는 프레임을 변경하는 경우 다른 디버거 창에는 적용되지 않습니다.Changing the active process, thread, or frame in the Debug Interactive window does not affect the other debugger windows. 마찬가지로, 다른 디버거 창에서 활성 프로세스, 스레드 또는 프레임을 변경하는 경우 대화형 디버그 창에는 적용되지 않습니다.Similarly, changing the active process, thread, or frame in the other debugger windows does not affect the Debug Interactive window.

대화형 디버그 창에는 도구 > 옵션 > Python 도구 > 대화형 디버그 창를 통해 액세스할 수 있는 고유한 옵션 집합이 있습니다.The Debug Interactive window has its own set of options, which you can access through Tools > Options > Python Tools > Debug Interactive Window. 각 Python 환경마다 별도의 인스턴스가 있는 일반 Python 대화형 창과 달리, 하나의 [대화형 디버그] 창만 있으며, 디버깅 중인 프로세스에 대해 항상 Python 인터프리터를 사용합니다.Unlike the regular Python Interactive window, which has a separate instance for each Python environment, there is only one Debug Interactive window and it always uses the Python interpreter for the process being debugged. 옵션 - 디버깅 옵션을 참조하세요.See Options - Debugging options.

대화형 디버그 창 옵션