Skip to main content

GitHub Copilot 사용하여 디버그하는 학습

도움을 요청 GitHub Copilot 하여 코드의 오류를 식별하고 수정합니다.

특히 새 개발자인 경우 코드에서 버그를 찾고 수정하는 것이 어려울 수 있습니다. 고맙게도, 같은 GitHub Copilot 도구는 신속하게 식별하고 버그를 스쿼시 할 수 있습니다, 당신은 더 창의적이고 흥미로운 작업에 초점을 맞출 수 있도록.

필수 조건

이 문서의 예제에서는 (GitHub Copilot)에서 Python 프로젝트를 디버그하는 데 사용하고 Visual Studio Code 있다고 VS Code 가정합니다. 예제를 따르려면 다음을 수행해야 합니다.

예제를 통해 디버그하는 방법 학습

버그가 있는 코드를 실행하려고 할 때 발생하는 두 가지 주요 상황은 다음과 같습니다.

  • 코드 실행이 완료되기 전에 종료되고 오류 메시지가 표시됩니다.
  • 오류 없이 코드가 실행되지만 예상한 것과 다르게 출력됩니다.

고맙게도 Copilot 두 경우 모두 코드를 디버그하는 데 도움이 될 수 있습니다. 방법을 알아보려면 다음 예제를 참조하세요.

다음을 사용하여 오류 디버깅 GitHub Copilot

버그가 있는 코드를 실행하면 오류 메시지가 자주 표시됩니다. 이 메시지는 오류가 발생한 파일과 줄 번호를 제공하며, 무엇이 잘못되었는지 간략하게 설명합니다. 그럼에도 오류 메시지가 혼란스러울 수 있습니다. 버그를 완전히 이해하고 수정하기 위해 도움을 요청할 Copilot 수 있습니다.

예제 리포지토리를 사용하여 이 작업을 시도해 보겠습니다. new2code/debug-with-copilot

예제 리포지토리 복제

먼저 리포지토리의 로컬 복사본을 만들어야 합니다.

  1. 에서 new2code/debug-with-copilot 리포지토리 복제를 시작 합니다 VS Code.
  2. 컴퓨터에 리포지토리를 저장할 위치를 선택한 다음, Select as Repository Destination을 클릭합니다.
  3. 메시지가 표시되면 리포지토리를 엽니다.

버그가 있는 파일 실행

이제 bugged_dice_battle.py 파일을 실행합니다. 이 프로그램은 두 플레이어 사이의 주사위 전투를 시뮬레이션합니다.

  1. 에서 VS Code파일을 열고 검토합니다 bugged_dice_battle.py .

  2. 명령어 팔레트를 열려면 Ctrl+Shift+P (Windows/Linux) 또는 Cmd+Shift+P (Mac) 키를 누르십시오.

  3. Terminal: Create New Terminal을 입력하고 Enter 키를 누릅니다.

  4. 터미널 탭에 다음 명령을 붙여넣습니다.

    Windows:

    Shell
    py bugged_dice_battle.py
    

    Mac 또는 Linux:

    Shell
    python bugged_dice_battle.py
    
  5. Enter 키를 눌러 프로그램을 실행합니다.

안타깝게도 터미널에서 다음 메시지로 끝나는 일부 오류 텍스트가 표시되었습니다.

TypeError: str("int" 아님)만 str에 연결할 수 있습니다.

파일 디버깅

이 오류의 의미를 이해하려면 열고 공동 파일럿 채팅VS Code붙여넣고 다음 프롬프트를 보냅니다.

Text
Explain in depth why my code produces the following error and how I can fix it:

TypeError: can only concatenate str (not "int") to str

Copilot 에서는 정 die_1 수와 die_2 문자열을 연결하려고 하므로 오류가 발생하며 문자열만 문자열에 연결할 수 있습니다.

업데이트된 코드 버전을 제공하여 **** 함수를 사용하여 정수를 문자열로 변환한 후 연결하여 버그를 수정합니다. 파일에 '의 제안을 적용하여 Copilot디버깅의 마지막 단계를 연습합니다.

를 사용하여 잘못된 출력 디버깅 GitHub Copilot

경우에 따라 버그가 있는 코드가 오류를 throw하지 않고 실행되기도 하지만 출력이 명확하게 잘못된 경우가 있습니다. 이 경우 버그의 위치 또는 설명을 알 수 없으므로 VS Code 디버깅이 더 어려울 수 있습니다.

이러한 "보이지 않는" 버그의 Copilot 경우 특히 유용합니다. 예제 리포지토리의 다른 파일, bugged_factorial_finder.py에 대한 실습 환경을 살펴보겠습니다. 인수를 계산해야 하는 Python 프로그램입니다.

버그가 있는 파일 실행

먼저 프로그램을 실행하여 잘못된 출력을 살펴보겠습니다.

  1. bugged_factorial_finder.py 파일을 열고 검토합니다.

  2. 이전에 만든 터미널에서 다음 명령을 붙여넣습니다. Windows:

    Shell
    py bugged_factorial_finder.py
    

    Mac 또는 Linux:

    Shell
    python bugged_factorial_finder.py
    
  3. Enter 키를 눌러 프로그램을 실행합니다.

안타깝게도 코드가 예상대로 작동하지 않습니다. 올바른 6의 계승 값인 720을 반환하려고 했지만, 반환된 결과값은 훨씬 더 높습니다.

파일 디버깅

무엇이 잘못되었는지 이해하려면 다음 프롬프트를 열고 공동 파일럿 채팅 보냅니다.

Text
Why is the output of this code so much higher than expected? Please explain in depth and suggest a solution.

Copilot는 연산자를 *= 사용하고 있기 때문에 실제로 둘 다factorial``i 곱하고 있음을 지적합니다factorial. 즉, 루프가 반복될 때 마다 추가 factorial 값을 곱합니다.

이 오류를 Copilot 해결하려면 수식에서 추가 factorial 를 제거하거나 연산자를 .로 변경하는 *= 코드를 제안합니다 =. 지금 변경하세요!

사용자 고유의 프로젝트 디버깅

이제 몇 가지 간단한 프로그램을 Copilot디버깅하는 방법을 연습했으므로 동일한 방법론을 사용하여 자신의 작업에 숨어 있는 버그를 찾아 수정할 수 있습니다.

예를 들어 코드에서 생성된 오류 메시지를 디버그하려면 다음 프롬프트를 보냅니 Copilot 다.

Text
Explain in depth why my code produces the following error and how I can fix it:

YOUR-ERROR-MESSAGE

그렇지 않은 경우 잘못된 출력을 디버깅하는 경우 출력이 잘못된 이유와 수정 방법을 묻 Copilot 습니다. 최상의 결과를 얻기 위해 출력이 예상과 어떻게 다른지에 대해 가능한 한 많은 컨텍스트를 제공합니다.

이러한 전술을 사용하면 프로젝트에서 버그를 해결할 완벽한 준비가 된 것입니다!

다음 단계

코딩을 계속하다 보면 디버그하기 어려운 특정 문제 시나리오와 오류가 발생할 수 있습니다. 잠재적인 문제 목록 및 문제를 해결하라는 프롬프트 예제 공동 파일럿 채팅 는 오류 디버깅을 참조하세요.