Skip to content

Latest commit

Β 

History

History
37 lines (22 loc) Β· 1.96 KB

File metadata and controls

37 lines (22 loc) Β· 1.96 KB
description 디버깅에 λŒ€ν•œ 방법을 배우자. 이것이 λ°”λ‘œ 효율적으둜 μ—λŸ¬μ˜ 원인을 μ°ΎλŠ” 방법

3μž₯ 효율적으둜 μ—λŸ¬μ˜ 원인 μ°ΎκΈ°

λ””λ²„κΉ…μ΄λž€ μ—λŸ¬μ˜ 원인을 νŠΉμ •ν•˜κ³  μˆ˜μ •ν•˜λŠ” μž‘μ—…μ΄λ‹€. μ•ž μž₯μ—μ„œ λ‚˜μ˜¨ μ—λŸ¬λ₯Ό μ½λŠ” 것도 λ””λ²„κΉ…μ˜ ν•œ 가지라고 ν•  수 μžˆλ‹€.

01. λ””λ²„κΉ…μ΄λž€?

디버깅(debugging)μ΄λž€ μ—λŸ¬μ˜ μ‹€μ œ 원인을 μ°Ύκ³  μˆ˜μ •ν•˜λŠ” μž‘μ—…μ„ λ§ν•œλ‹€. 디버깅 μŠ€ν‚¬μ€ 효율적인 ν”„λ‘œκ·Έλž˜λ°μ— 큰 영ν–₯을 μ€€λ‹€.


디버그(debug) =ν”„λ‘œκ·Έλž¨ λ‚΄ μ—λŸ¬λ₯Ό μ˜λ―Έν•˜λŠ” 버그(bug) + de(μ œκ±°ν•˜λ‹€)

1) λ””λ²„κΉ…μ˜ 흐름

원인 μ°ΎκΈ° β†’ μ—λŸ¬ 읽기 β†’ 원인 νŒŒμ•… β†’ μˆ˜μ •ν•˜κΈ° β†’ ? β†’ 원인 νŒŒμ•… β†’ μˆ˜μ •ν•˜κΈ°

κ³Όμž₯ν•΄μ„œ ν‘œν˜„ν•˜μžλ©΄ 디버깅은 μ—λŸ¬μ˜ μ›μΈλ§Œ νŠΉμ •ν•  수 μžˆλ‹€λ©΄ 이미 λλ‚œ κ²ƒμ΄λ‚˜ 닀름없닀.


μ—λŸ¬κ°€ 보이지 μ•Šκ±°λ‚˜ μ—λŸ¬λ₯Ό 이해할 수 없을 λ•Œλ„ μžˆλ‹€. μ΄λ•ŒλŠ” ν”„λ¦°νŠΈ 디버깅 방법과 이진 탐색을 ν™œμš©ν•˜μ—¬ μ—λŸ¬μ˜ 원인을 μ°Ύμ•„λ³Ό 수 μžˆλ‹€.

2) ν”„λ¦°νŠΈ 디버깅을 ν•΄λ³΄μž

ν”„λ¦°νŠΈ λ””λ²„κΉ…μ˜ ν”„λ¦°νŠΈλŠ” 문자 κ·ΈλŒ€λ‘œ ν”„λ‘œκ·Έλž¨μ΄ 무언가λ₯Ό 좜λ ₯(print)ν•œλ‹€λŠ” 의미둜, 디버깅 쀑 ν”„λ‘œκ·Έλž¨μ˜ μƒνƒœλ₯Ό ν‘œμ‹œν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€.


각 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—λŠ” λ³€μˆ˜λ₯Ό 좜λ ₯ν•˜κΈ° μœ„ν•œ ν•¨μˆ˜κ°€ μ‘΄μž¬ν•˜λŠ”λ°, 이 좜λ ₯ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ ν”„λ‘œκ·Έλž¨μ—μ„œ λ³€μˆ˜μ˜ λ‚΄μš©μ„ ν™•μΈν•˜κ³  ν”„λ‘œκ·Έλž¨μ˜ μƒνƒœλ₯Ό ν•΄μ„ν•˜λ©΄μ„œ λ¬Έμ œκ°€ λ°œμƒν•œ μœ„μΉ˜ νŠΉμ • κ°€λŠ₯ν•˜λ‹€.

function calcSum(a, b) {console.log('인수의 κ°’ : a = ${a} / b = ${b}');const sum = a + b;console.log('처리 κ²°κ³Ό : sum = ${suin}'οΌ‰;return sum;const sum = calcSumO, 2οΌ‰;console.log('ν•¨μˆ˜μ˜ λ°˜ν™˜κ°’ : ${sum}'οΌ‰;

νŠΉμ • μœ„μΉ˜μ˜ λ³€μˆ«κ°’μ„ 좜λ ₯ν•˜λ©΄μ„œ ν”„λ‘œκ·Έλž¨μ΄ μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜λŠ”μ§€ ν™•μΈν•˜λŠ” 것이 ν”„λ¦°νŠΈ λ””λ²„κΉ…μ˜ κΈ°λ³Έ