# 8. Debugging

워크플로우 디버깅은 오류를 효과적으로 방지하고 성공적인 자동화 실행을 보장합니다.

### 워크플로 디버깅 마스터하기: n8n을 위한 필수 기술

- 🛠 n8n 초급 과정의 마지막 동영상에서는 프로덕션에서 워크플로우가 활성화될 때 발생하는 오류를 수정하는 데 중요한 기술인 **워크플로 디버깅**에 대해 집중적으로 다룹니다.

- 🔍 디버깅은 워크플로 내의 **특정 노드**를 실패하게 만드는 문제를 식별하고 해결하는 작업으로, **잘못된 구성**, **사용할 수 없는 서비스** 또는 **입력 데이터 누락**으로 인해 발생할 수 있습니다.

- 📜 실행 기록을 통해 사용자는 실패한 워크플로 실행을 확인하고 순차적으로 디버깅하여 **오류가 반복되지 않도록** 할 수 있습니다.

- 🖥 에디터 내 디버그 기능은 사용자가 실패한 실행의 데이터를 현재 워크플로 캔버스에 고정하여 **더 쉬운 디버깅**을 할 수 있는 **강력한 도구**로 강조됩니다.

- 🔄 오류 수정 후 재시도 기능을 사용하면 실패한 실행을 **다시 트리거**할 수 있어 **동일한 문제**로 인해 여러 번 실행이 실패했을 때 특히 유용할 수 있습니다.

- 📚 출력 편집 기능과 워크플로 버전 기록은 **수동 조정**을 가능하게 하고 필요한 경우 사용자가 이전 워크플로 버전으로 **복귀**할 수 있는 유용한 디버깅 도구이기도 합니다.

- ⚙ 워크플로우 디버깅의 두 가지 실제 사례는 **오류 처리 및 성공적인 실행 보장** 과정을 보여주며 워크플로우 개발 전반에 걸쳐 오류 처리의 **중요성**을 강조합니다.

- 🎓 이 동영상은 **워크플로 구축 및 디버깅 기술**과 관련된 **더 복잡한 주제**를 다루는 고급 과정을 미리 살펴보는 것으로 마무리됩니다.

LiveWiki, 유튜브 속 핵심 내용을 10초 만에! - [https://livewiki.com/ko/content/n8n-beginner-course-debugging](https://livewiki.com/ko/content/n8n-beginner-course-debugging)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093944_FNyRJM82LkwbZ80try?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093945_HpBdaWHncLU5cP0pAJ?q=80&s=1280x180&t=outside&f=webp)

- 이번 영상에서는 워크플로우 디버깅에 대해 다룰 예정.

- 디버깅은 오류를 수정하고 다시 발생하지 않도록 방지하는 중요한 과정.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093946_qVvGehhj4aIBCYK3m6?q=80&s=1280x180&t=outside&f=webp)

- 워크플로우 오류의 원인: 잘못된 설정, 서비스 장애(예: Google Sheets, Slack의 500 오류), 입력 데이터 문제 등이 있음.

- 실행 로그에서 실패한 워크플로우를 확인하고 디버깅 가능.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093947_0jVEM0oXIisgHmlvEW?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093948_sxsfaqFL56iY4OamEa?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093948_RBfLxOxKwz3RnNTr9H?q=80&s=1280x180&t=outside&f=webp)

- 자동화가 오류 없이도 실패할 수 있는 상황 설명.

- 오류 처리의 중요성 강조.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093949_0zzYnnhtmTe39GZPNQ?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093950_TviooKefEphV5FQHBM?q=80&s=1280x180&t=outside&f=webp)

- **Debug in Editor** 기능 설명: 실패한 실행의 데이터를 현재 워크플로우 캔버스에 고정하여 디버깅 가능.

- 웹훅 노드에서 사용한 핀 기능과 유사하며, 한 번에 하나의 데이터만 고정 가능.

- 오류가 수정된 후에는 **Retry** 기능을 사용하여 실패한 실행을 다시 실행 가능.

- 오류가 발생한 노드에서 재실행이 시작되며, 이전 노드의 오류가 있다면 편집기로 복사하여 재실행해야 함.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093951_xdbLvMwAQSEB1TuTFp?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093951_G2yxVPEGRmwkn7bFkI?q=80&s=1280x180&t=outside&f=webp)

- **Edit Output** 기능: 특정 노드의 출력을 수동으로 수정하여 빠른 테스트나 디버깅 가능.

- 스케일이 큰 문제에는 적합하지 않음.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093952_FtqKbJWabpdZ3vFaPj?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093953_MQilxwqtUMPc6KoCXs?q=80&s=1280x180&t=outside&f=webp)

- **Workflow Version History** 기능 설명: 이전 워크플로우 버전으로 되돌리거나 구조를 확인할 수 있음.

- **Retry** 기능과 결합하여 이전 버전으로 되돌린 후 여러 실행을 재시도할 수 있음.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/093954_22df1US8EuzO1WT4lF?q=80&s=1280x180&t=outside&f=webp)

- **06:09 – 07:33:**

    - 디버깅 예시 1: 실패한 워크플로우에서 오류를 확인하고, 오류 데이터를 캔버스에 고정하여 문제 해결.

    - ID가 없는 경우 이메일로 데이터를 조회하는 방법으로 수정.

- **07:33 – 09:59:**

    - 디버깅 예시 2: 웹훅에서 받은 데이터에 ID가 없을 때 Slack 메시지로 알림을 보내는 방법.

    - ID나 이메일이 없는 경우 오류 발생 시 **Stop and Error** 노드를 사용해 오류 메시지 생성.

- **09:59 – 11:41:**

    - 또 다른 예시: 데이터가 반환되지 않았지만 오류가 발생하지 않은 경우 처리 방법.

    - **Always Output Data** 옵션을 사용하여 연락처가 없을 때에도 빈 항목을 반환하도록 설정.

- **11:41 – 15:05:**

    - 이메일이 없을 때 Slack 메시지를 보내지 않고 오류 메시지를 발생시키는 방법.

    - 워크플로우를 최적화하여 오류 발생 시 처리할 수 있도록 설정.

- **15:05 – 15:48:**

    - 워크플로우가 유효하지 않은 경우 **Throw Error** 노드를 사용해 오류를 발생시켜 다른 사람이 문제를 해결할 수 있도록 함.

    - 마지막 영상에서는 워크플로우 디버깅 및 오류 수정 방법을 다룸.

- **15:48 – 끝:**

    - 고급 과정에서는 더욱 복잡한 워크플로우 빌딩, 데이터 흐름, 오류 처리 및 디버깅 방법을 다룰 예정.

For the site tree, see the [root Markdown](https://slashpage.com/n8n-guide.md).
