JavaScript Debugging - accidentlywoo/legacyVue GitHub Wiki

JavaScript Debugging

  • λ“€μ–΄κ°€κΈ° 전에 μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 싀행단계(λŸ°νƒ€μž„)μ—μ„œ 버그가 λ°œκ²¬λ©λ‹ˆλ‹€. κ·Έ 타이밍에 μ–΄λ””κ°€ λ¬Έμ œμΈμ§€ λ°”λ‘œ ν™•μΈν•˜λŠ” 게 μ’‹μŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ ν”„λ‘œκ·Έλž˜λ°μ²˜λŸΌ μžλ°”μŠ€ν¬λ¦½νŠΈ κ°œλ°œλ„ λ””λ²„κΉ…μ˜ 연속이라고 보면 λ©λ‹ˆλ‹€.

ν•™μŠ΅ λͺ©ν‘œ

  1. ν¬λ‘¬λΈŒλΌμš°μ €λ₯Ό ν†΅ν•΄μ„œ μžλ°”μŠ€ν¬λ¦½νŠΈ 디버깅 방법을 μ•Œμ•„λ³Έλ‹€.

핡심 κ°œλ…

  • chrome developer tools
  • debugging

ν•™μŠ΅ν•˜κΈ°

디버깅 컨트둀

  • Pause, Continue : 첫 번째 λ²„νŠΌμ€ ν‰μ†Œμ— Pause λ²„νŠΌ μƒνƒœμΈλ° λΈŒλ ‰ν¬μΈνŠΈκ°€ 작힌 μƒνƒœμ—μ„  Continue λ²„νŠΌμ΄ λ©λ‹ˆλ‹€. λ‹€λ₯Έ λΈŒλ ˆμ΄ν¬ν¬μΈνŠΈκ°€ 작힐 λ•ŒκΉŒμ§€ μ½”λ“œλ₯Ό μ§„ν–‰ν•©λ‹ˆλ‹€.
  • Step over next function call : μŠ€ν… μ˜€λ²„λŠ” μ½”λ“œ 라인을 ν•œ μŠ€νƒ­ μ§„ν–‰ν•˜λŠ”λ° ν˜„μž¬ μ‹€ν–‰ 라인에 ν•¨μˆ˜ μ‹€ν–‰ μ½”λ“œκ°€ μžˆλ‹€λ©΄ ν•¨μˆ˜λŠ” μ‹€ν–‰ν•˜λŠ”λ° μ΄λ•Œ ν•¨μˆ˜ μ•ˆμ˜ μ½”λ“œλ‘œ μ§„μž…ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 즉 라인의 ν•¨μˆ˜λ₯Ό μ‹€ν–‰λ§Œ ν•˜κ²Œ λ©λ‹ˆλ‹€.
  • Step inot next function call : μŠ€ν… μΈνˆ¬λŠ” μŠ€ν… μ˜€λ²„μ™€ λ‹€λ₯΄κ²Œ ν˜„μž¬ μ‹€ν–‰ 라인의 μ½”λ“œμ— ν•¨μˆ˜κ°€ μžˆλ‹€λ©΄ ν•¨μˆ˜ μ•ˆμ˜ 첫 번째 μ½”λ“œλ‘œ μ§„μž…ν•΄ λ“€μ–΄κ°€ λ‹€μ‹œ ν•˜λ‚˜μ”© λΌμΈλ³„λ‘œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • Step out of current function : μŠ€ν… 인투둜 λ“€μ–΄μ˜¨ ν•¨μˆ˜λ₯Ό λκΉŒμ§€ μ‹€ν–‰ν•˜κ³  λ°–μœΌλ‘œ λΉ μ Έλ‚˜μ™€ ν•΄λ‹Ή ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•œ ν•¨μˆ˜λ‘œ λŒμ•„κ°‘λ‹ˆλ‹€.
  • Active / Deactive breakpoint : 브레이크 포인트λ₯Ό λ„κ±°λ‚˜ μΌ€ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • Pause on exception : μžλ°”μŠ€ν¬λ¦½νŠΈ μ˜ˆμ™Έκ°€ λ°œμƒν•˜λ©΄ ν•΄λ‹Ή μœ„μΉ˜μ— 브레이크포인트λ₯Ό μž‘μ•„μ€λ‹ˆλ‹€.

생각해보기

  1. 본인이 개발 쀑 μΈμ½”λ“œμ˜ 디버깅을 μ§€κΈˆ 배운 λ‚΄μš©μœΌλ‘œ ν•΄λ΄…λ‹ˆλ‹€. 디버깅을 ν†΅ν•œ κ°œλ°œλ°©λ²•λ„ μΌμ’…μ˜ μŠ΅κ΄€μž…λ‹ˆλ‹€.
  2. ꡬ글 검색창에 '크둬 개발자 도ꡬ μžλ°”μŠ€ν¬λ¦½νŠΈ 디버깅'을 μž…λ ₯ν•΄μ„œ ν•™μŠ΅ν•΄λ³΄μ„Έμš”.