{"meta":{"title":"GitHub Copilot 사용하여 디버그하는 학습","intro":"도움을 요청 GitHub Copilot 하여 코드의 오류를 식별하고 수정합니다.","product":"시작하기","breadcrumbs":[{"href":"/ko/get-started","title":"시작하기"},{"href":"/ko/get-started/learning-to-code","title":"코딩 학습"},{"href":"/ko/get-started/learning-to-code/learning-to-debug-with-github-copilot","title":"Copilot 사용하여 디버그"}],"documentType":"article"},"body":"# GitHub Copilot 사용하여 디버그하는 학습\n\n도움을 요청 GitHub Copilot 하여 코드의 오류를 식별하고 수정합니다.\n\n특히 새 개발자인 경우 코드에서 버그를 찾고 수정하는 것이 어려울 수 있습니다. 고맙게도, 같은 GitHub Copilot 도구는 신속하게 식별하고 버그를 스쿼시 할 수 있습니다, 당신은 더 창의적이고 흥미로운 작업에 초점을 맞출 수 있도록.\n\n## 필수 조건\n\n이 문서의 예제에서는 (GitHub Copilot)에서 Python 프로젝트를 디버그하는 데 사용하고 Visual Studio Code 있다고 VS Code 가정합니다. 예제를 따르려면 다음을 수행해야 합니다.\n\n* 설명서에서 [설정을 Visual Studio CodeCopilot](https://code.visualstudio.com/docs/copilot/setup-simplified) 완료합니다 Visual Studio Code .\n* [Python을 다운로드하세요](https://www.python.org/downloads/).\n* 에 [대한 Python 확장을 설치합니다Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-python.python).\n\n## 예제를 통해 디버그하는 방법 학습\n\n버그가 있는 코드를 실행하려고 할 때 발생하는 두 가지 주요 상황은 다음과 같습니다.\n\n* 코드 실행이 완료되기 전에 종료되고 오류 메시지가 표시됩니다.\n* 오류 없이 코드가 실행되지만 예상한 것과 다르게 출력됩니다.\n\n고맙게도 Copilot 두 경우 모두 코드를 디버그하는 데 도움이 될 수 있습니다. 방법을 알아보려면 다음 예제를 참조하세요.\n\n### 다음을 사용하여 오류 디버깅 GitHub Copilot\n\n버그가 있는 코드를 실행하면 오류 메시지가 자주 표시됩니다. 이 메시지는 오류가 발생한 파일과 줄 번호를 제공하며, 무엇이 잘못되었는지 간략하게 설명합니다. 그럼에도 오류 메시지가 혼란스러울 수 있습니다. 버그를 완전히 이해하고 수정하기 위해 도움을 요청할 Copilot 수 있습니다.\n\n예제 리포지토리를 사용하여 이 작업을 시도해 보겠습니다. [`new2code/debug-with-copilot`](https://github.com/new2code/debug-with-copilot)\n\n#### 예제 리포지토리 복제\n\n먼저 리포지토리의 로컬 복사본을 만들어야 합니다.\n\n1. [에서 new2code/debug-with-copilot 리포지토리 복제를 시작](vscode://vscode.git/clone?url=https://github.com/new2code/debug-with-copilot) 합니다 VS Code. <!-- markdownlint-disable-line GHD003 -->\n2. 컴퓨터에 리포지토리를 저장할 위치를 선택한 다음, **Select as Repository Destination**을 클릭합니다.\n3. 메시지가 표시되면 리포지토리를 엽니다.\n\n#### 버그가 있는 파일 실행\n\n이제 [`bugged_dice_battle.py`](https://github.com/new2code/debug-with-copilot/blob/main/bugged_dice_battle.py) 파일을 실행합니다. 이 프로그램은 두 플레이어 사이의 주사위 전투를 시뮬레이션합니다.\n\n1. 에서 VS Code파일을 열고 검토합니다 `bugged_dice_battle.py` .\n\n2. 명령어 팔레트를 열려면 <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> (Windows/Linux) 또는 <kbd>Cmd</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> (Mac) 키를 누르십시오.\n\n3. `Terminal: Create New Terminal`을 입력하고 <kbd>Enter</kbd> 키를 누릅니다.\n\n4. 터미널 탭에 다음 명령을 붙여넣습니다.\n\n   Windows:\n\n   ```shell copy\n   py bugged_dice_battle.py\n   ```\n\n   Mac 또는 Linux:\n\n   ```shell copy\n   python bugged_dice_battle.py\n   ```\n\n5. <kbd>Enter</kbd> 키를 눌러 프로그램을 실행합니다.\n\n안타깝게도 터미널에서 다음 메시지로 끝나는 일부 오류 텍스트가 표시되었습니다.\n\n> TypeError: str(\"int\" 아님)만 str에 연결할 수 있습니다.\n\n#### 파일 디버깅\n\n이 오류의 의미를 이해하려면 [열고 Copilot ChatVS Code](vscode://GitHub.Copilot-Chat?ref_product=copilot\\&ref_type=engagement\\&ref_style=text)붙여넣고 다음 프롬프트를 보냅니다. <!-- markdownlint-disable-line GHD003 -->\n\n```text copy\nExplain in depth why my code produces the following error and how I can fix it:\n\nTypeError: can only concatenate str (not \"int\") to str\n```\n\nCopilot 에서는 정 `die_1` 수와 `die_2` 문자열을 연결하려고 하므로 오류가 발생하며 문자열만 문자열에 연결할 수 있습니다.\n\n업데이트된 코드 버전을 제공하여 \\*\\*\\*\\* 함수를 사용하여 정수를 문자열로 변환한 후 연결하여 버그를 수정합니다. 파일에 '의 제안을 적용하여 Copilot디버깅의 마지막 단계를 연습합니다.\n\n### 를 사용하여 잘못된 출력 디버깅 GitHub Copilot\n\n경우에 따라 버그가 있는 코드가 오류를 throw하지 않고 실행되기도 하지만 출력이 명확하게 잘못된 경우가 있습니다. 이 경우 버그의 위치 또는 설명을 알 수 없으므로 VS Code 디버깅이 더 어려울 수 있습니다.\n\n이러한 \"보이지 않는\" 버그의 Copilot 경우 특히 유용합니다. 예제 리포지토리의 다른 파일, `bugged_factorial_finder.py`에 대한 실습 환경을 살펴보겠습니다. 인수를 계산해야 하는 Python 프로그램입니다.\n\n#### 버그가 있는 파일 실행\n\n먼저 프로그램을 실행하여 잘못된 출력을 살펴보겠습니다.\n\n1. `bugged_factorial_finder.py` 파일을 열고 검토합니다.\n\n2. 이전에 만든 터미널에서 다음 명령을 붙여넣습니다.\n   Windows:\n\n   ```shell copy\n   py bugged_factorial_finder.py\n   ```\n\n   Mac 또는 Linux:\n\n   ```shell copy\n   python bugged_factorial_finder.py\n   ```\n\n3. <kbd>Enter</kbd> 키를 눌러 프로그램을 실행합니다.\n\n안타깝게도 코드가 예상대로 작동하지 않습니다. 올바른 6의 계승 값인 `720`을 반환하려고 했지만, 반환된 결과값은 훨씬 더 높습니다.\n\n#### 파일 디버깅\n\n무엇이 잘못되었는지 이해하려면 다음 프롬프트를 [열고 Copilot Chat](vscode://GitHub.Copilot-Chat?ref_product=copilot\\&ref_type=engagement\\&ref_style=text) 보냅니다. <!-- markdownlint-disable-line GHD003 -->\n\n```text copy\nWhy is the output of this code so much higher than expected? Please explain in depth and suggest a solution.\n```\n\nCopilot는 연산자를 `*=` 사용하고 있기 때문에 **실제로 둘 다**`factorial``i` 곱하고 있음을 지적합니다`factorial`. 즉, 루프가 반복될 때 마다 추가 `factorial` 값을 곱합니다.\n\n이 오류를 Copilot 해결하려면 수식에서 추가 `factorial` 를 제거하거나 연산자를 .로 변경하는 `*=` 코드를 제안합니다 `=`. 지금 변경하세요!\n\n## 사용자 고유의 프로젝트 디버깅\n\n이제 몇 가지 간단한 프로그램을 Copilot디버깅하는 방법을 연습했으므로 동일한 방법론을 사용하여 자신의 작업에 숨어 있는 버그를 찾아 수정할 수 있습니다.\n\n예를 들어 코드에서 생성된 오류 메시지를 디버그하려면 다음 프롬프트를 보냅니 Copilot 다.\n\n```text copy\nExplain in depth why my code produces the following error and how I can fix it:\n\nYOUR-ERROR-MESSAGE\n```\n\n그렇지 않은 경우 잘못된 출력을 디버깅하는 경우 출력이 잘못된 이유와 수정 방법을 묻 Copilot 습니다. 최상의 결과를 얻기 위해 출력이 예상과 어떻게 다른지에 대해 가능한 한 많은 컨텍스트를 제공합니다.\n\n이러한 전술을 사용하면 프로젝트에서 버그를 해결할 완벽한 준비가 된 것입니다!\n\n## 다음 단계\n\n코딩을 계속하다 보면 디버그하기 어려운 특정 문제 시나리오와 오류가 발생할 수 있습니다. 잠재적인 문제 목록 및 문제를 해결하라는 프롬프트 예제 Copilot Chat 는 [오류 디버깅](/ko/copilot/tutorials/copilot-cookbook/debug-errors)을 참조하세요."}