πŸͺ² debugging in vsc

jewΒ·2024λ…„ 6μ›” 25일

console을 μ°λŠ” 방식을 제일 많이 μ‚¬μš©ν–ˆλŠ”λ°, μ΅œκ·Όμ—μ„œμ•Ό IDE ν™˜κ²½μ— μžˆλŠ” 디버깅 μ˜΅μ…˜μ„ μ‚¬μš©ν•˜κ³  μžˆλ‹€.
μ •λ¦¬ν•΄λ³΄κ³ μž λΈ”λ‘œκ·Έμ— 남긴닀.

κΈ°λ³Έ 도ꡬ


Continue / Step Over / Step Into / Step Out / Restart / Stop

Continue

ν˜„μž¬ μ€‘λ‹¨μ κΉŒμ§€ 계속 μ‹€ν–‰ν•œλ‹€. μ½”λ“œ 싀행이 멈좰 μžˆλŠ” κ³³μ—μ„œ λ‹€μŒ μ€‘λ‹¨μ κΉŒμ§€ μ½”λ“œκ°€ μžλ™μœΌλ‘œ 싀행됨

Step Over

ν•¨μˆ˜ 호좜이 ν¬ν•¨λœ μ½”λ“œ λΌμΈμ—μ„œ μ‹€ν–‰ν•œ ν›„ ν•¨μˆ˜μ˜ λ‚΄λΆ€λ‘œ λ“€μ–΄κ°€μ§€ μ•Šκ³ , λ‹€μŒ 라인으둜 μ΄λ™ν•œλ‹€.

start-pop-end둜 싀행은 λ˜μ—ˆμ§€λ§Œ innerFunction ν•¨μˆ˜ λ‚΄λΆ€λ‘œ λ“€μ–΄κ°€μ§„ μ•ŠλŠ”λ‹€

Step Into

ν˜„μž¬ 라인의 μ½”λ“œκ°€ μ‹€ν–‰λ˜κ³ , κ·Έ μ½”λ“œκ°€ ν˜ΈμΆœν•˜λŠ” ν•¨μˆ˜μ˜ λ‚΄λΆ€λ‘œ 듀어감.

Step Into & Step Over 차이

Step IntoλŠ” ν˜„μž¬ λΌμΈμ—μ„œ ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜μ˜ λ‚΄λΆ€λ‘œ λ“€μ–΄κ°€μ„œ ν•¨μˆ˜ λ‚΄λΆ€ λ””λ²„κΉ…μœΌλ‘œ λ„˜μ–΄κ°€λŠ”λ°, Step OverλŠ” ν˜„μž¬ 라인의 μ½”λ“œκ°€ μ‹€ν–‰λœ ν›„ μ½”λ“œκ°€ ν˜ΈμΆœν•˜λŠ” ν•¨μˆ˜μ˜ λ‚΄λΆ€λ‘œ λ“€μ–΄κ°€μ§€ μ•Šκ³  λ‹€μŒ 라인으둜 λ„˜μ–΄κ°.

Step Out

ν˜„μž¬ ν•¨μˆ˜ μ•ˆμ΄λΌλ©΄, ν•΄λ‹Ή ν•¨μˆ˜λŠ” λκΉŒμ§€ μ‹€ν–‰ν•˜κ³  λ°˜ν™˜ν•˜κ³  λ©ˆμΆ˜λ‹€.

ν•¨μˆ˜ μ•ˆμ—μ„œ ν•œ 쀄 μ”© λ””λ²„κΉ…ν•˜λ‹€κ°€ ν•΄λ‹Ή ν•¨μˆ˜μ— μ—λŸ¬κ°€ μ—†μŒμ„ ν™•μ‹ ν•΄μ„œ ν•΄λ‹Ή ν•¨μˆ˜ 디버깅을 마치고 싢을 λ•Œ μ‚¬μš©ν•˜λ©΄ λœλ‹€.

Step Over와 Step Out의 차이

Step OverλŠ” ν•¨μˆ˜ λ‚΄λΆ€λ‘œ μ§„μž…ν•˜μ§€ μ•Šκ³  결과만 λ°˜ν™˜ν•œλ‹€.

Step Out은 Step Into λͺ…λ Ήμ–΄λ₯Ό 톡해 ν˜„μž¬ μ½”λ“œλΌμΈμ΄ ν•¨μˆ˜ μ•ˆμ— 멈좰 μžˆμ„ κ²½μš°μ— μ‚¬μš©ν•œλ‹€.

Restart

디버깅 μ„Έμ…˜μ΄ ν”„λ‘œκ·Έλž¨μ˜ μ‹œμž‘ μ§€μ μ—μ„œλΆ€ν„° λ‹€μ‹œ μ‹€ν–‰λ˜λ©°, 쀑단점 같은 섀정은 μœ μ§€λœλ‹€.

Stop

ν˜„μž¬ 디버깅을 μ™„μ „νžˆ μ’…λ£Œν•˜κ³  싢을 λ•Œ μ‚¬μš©

Run and Debug

1) 쀑단점 μ§€μ •ν•˜κΈ°

쀑단점을 찍힌 라인 μ „κΉŒμ§€ μ½”λ“œκ°€ μ‹€ν–‰λœλ‹€.

μ•„λ‹ˆλ©΄ κ·Έλƒ₯ 쀑단점을 κ±°λŠ” 게 μ•„λ‹ˆλΌ νŠΉμ •ν•œ 쑰건에 λ§Œμ‘±ν•  λ•Œλ§Œ 브레이크 ν¬μΈνŠΈκ°€ λ™μž‘ν•  수 μžˆλ„λ‘ λ§Œλ“€ 수 μžˆλ‹€.

2) WATCH (κ΄€μ°°μž)
+μ•„μ΄μ½˜μ„ λˆŒλŸ¬μ„œ λ³€μˆ˜ λͺ…을 λ“±λ‘ν•˜λ©΄ λ‚΄κ°€ κ΄€μ°°ν•˜κ³  싢은 λ³€μˆ˜κ°€ μ½”λ“œκ°€ 진행됨에 따라 μ–΄λ–»κ²Œ λ³€ν•˜λŠ”μ§€ μ§‘μ€‘ν•΄μ„œ λ³Ό λ•Œ! μ‚¬μš©ν•˜λ©΄ κ΅Ώ.

3) Run and Debug 클릭
쀑단점과 같은 μ„€μ • 없이 λ§ˆμ§€λ§‰μ— console.log만 찍어뒀닀면 console.log둜 λ‚˜μ˜€λŠ” 값이 κ·ΈλŒ€λ‘œ 좜λ ₯ λ˜λŠ” 것을 λ³Ό 수 μžˆλ‹€.

profile
문제 있으면 μ˜μ‹μ˜ νλ¦„λŒ€λ‘œ μž‘μ„±ν•˜λŠ” λΈ”.log

0개의 λŒ“κΈ€