였늘 μ΄μ‹œκ°„μ—λŠ” κΈˆμš”μΌλΌμ„œ κ·ΈλŸ°μ§€ 마음이 μ‹±μˆ­μƒμˆ­ ν•©λ‹ˆλ‹€. μž˜ν•˜μ§€λ„ λͺ»ν•˜λ©΄μ„œ μ˜¬λ°”λ₯΄μ§€ μ•ŠλŠ” λ§ˆμŒκ°€μ§μΈκ²ƒ κ°™λ„€μš”. μˆ˜μ—… λ‚΄μš©μœΌλ‘œλŠ” 디버깅과 λžŒλ‹€μ‹μ— λŒ€ν•΄μ„œ λ°°μ› λŠ”λ°μš”. μ—°μŠ΅λ¬Έμ œλ₯Ό λ©°μΉ  λ³΄λ©΄μ„œ 디버깅 λ­”κ°€ ν˜Όμžν•˜κΈ° μ–΄λ €μš΄β€¦ λ­”κ°€ κ·ΈλŸ¬λ„€μš”..κΈˆμš”μΌμ— λ‚¨μ•„μ„œ ν–ˆμ–΄μ•Ό ν–ˆλ‚˜ 미련이 μƒκΈ°λ„€μš”β€¦

스크란샷 2023-06-01 α„‹α…©α„Œα…₯ᆫ 5.54.49.png

디버깅

디버깅은 μ†Œν”„νŠΈμ›¨μ–΄μ—μ„œ 였λ₯˜λ₯Ό μ‹λ³„ν•˜κ³  μˆ˜μ •ν•˜λŠ” κ³Όμ •μž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ μ†Œν”„νŠΈμ›¨μ–΄ 였λ₯˜λΌλŠ”κ²ƒμ€ μ˜λ„ν•˜μ§€ μ•Šμ€ λ°©μ‹μœΌλ‘œ λ™μž‘ν•˜κ±°λ‚˜ κΈ°λŒ€ν•œ κ²°κ³Όλ₯Ό μ œκ³΅ν•˜μ§€ λͺ»ν•˜λŠ” 상황을 λ§ν•˜λŠ”λ°μš”.

μ½”λ“œλ₯Ό μ»΄νŒŒμΌν•˜κ±°λ‚˜ ν•΄μ„ν• λ•Œ 발견되고 잘λͺ»λœ 쑰건문, 반볡문 λ˜λŠ” 계산식 등이 원인이 될수 있고 ν”„λ‘œκ·Έλž¨μ΄ 싀행쀑에 λ°œμƒν•˜λŠ” 였λ₯˜λ‘œ μ˜ˆμ™Έ(Exception)라고 λŸ°νƒ€μž„μ˜€λ₯˜κ°€ μžˆλŠ”λ°μš”. μ΄λŠ” 잘λͺ»λœ μ—°μ‚°, λ©”λͺ¨λ¦¬ μ ‘κ·Ό λ“±μœΌλ‘œ λ°œμƒν• μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. 그리고 μ†Œν”„νŠΈμ›¨μ–΄κ°€ λ™μž‘ν•˜μ§€ μ•Šκ³  μ•Œκ³ λ¦¬μ¦˜ λ˜λŠ” ν”„λ‘œκ·Έλž¨ μ„€κ³„λ‹¨κ³„μ—μ„œ λ°œμƒν• μˆ˜ μžˆμ–΄μ„œ μ†Œν”„νŠΈμ›¨μ–΄ 였λ₯˜μ˜ 원인을 μ°Ύκ³  ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 디버깅 도ꡬλ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜ μ½”λ“œλ₯Ό λΆ„μ„ν•˜λŠ” λ“±μ˜ 방법을 μ‚¬μš©ν• μˆ˜ μžˆκ² λ„€μš”.

디버깅 기술

  1. λ‘œκΉ… : μ½”λ“œκ°€ μ‹€ν–‰λ˜λŠ” λ™μ•ˆ λ°œμƒν•˜λŠ” 이벀트둜 ν”„λ‘œκ·Έλž¨μ˜ 싀행쀑에 λ°œμƒν•˜λŠ” μ€‘μš”ν•œ μ‚¬κ±΄μ΄λ‚˜ μƒνƒœ λ³€ν™”λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. κ·Έλž˜μ„œ λ‘œκΉ…μ€ 이벀트λ₯Ό κΈ°λ‘ν•˜λ©΄μ„œ ν”„λ‘œκ·Έλž¨ λ™μž‘κ³Ό κ΄€λ ¨λœ 정보λ₯Ό μˆ˜μ§‘ν•˜κ³  λΆ„μ„ν•©λ‹ˆλ‹€.
  2. 브레이크 포인트 : 디버깅 κ³Όμ •μ—μ„œ μ½”λ“œμ˜ νŠΉμ • μ§€μ μ—μ„œ ν”„λ‘œκ·Έλž¨ 싀행을 μΌμ‹œμ μœΌλ‘œ μ€‘λ‹¨ν•˜λŠ”κ²ƒμ„ λ§ν•©λ‹ˆλ‹€. 브레이크 포인트λ₯Ό μ„€μ •ν•΄μ„œ ν•΄λ‹Ή 지점에 λ„λ‹¬ν–ˆμ„λ•Œ 싀행이 μ€‘μ§€λ˜λ©° μ€‘μ§€λœ μƒνƒœμ—μ„œ λ³€μˆ˜ 값을 κ²€μ‚¬ν•˜κ±°λ‚˜ 디버깅 μž‘μ—…μ„ μˆ˜ν–‰ν• μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
  3. 디버거 : μ†Œν”„νŠΈμ›¨μ–΄ 개발 κ³Όμ •μ—μ„œ ν”„λ‘œκ·Έλž¨ λ™μž‘μ„ λΆ„μ„ν•˜κ³  였λ₯˜λ₯Ό μ°ΎλŠ”λ° 도움을 μ£ΌλŠ” λ„κ΅¬λ‘œ 쀑단점을 μ„€μ •ν•˜κ³  싀행을 μΌμ‹œ μ€‘μ§€ν•΄μ„œ λ³€μˆ˜μ˜ κ°’κ³Ό μ½”λ“œμ˜ μƒνƒœλ₯Ό 확인 ν• μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ μ€‘λ‹¨μ μ΄λž€..μ½”λ“œμ˜ νŠΉμ • 지점을 μ„€μ •ν•΄μ„œ 싀행을 μΌμ‹œ 쀑지 ν•˜λŠ”κ²ƒμ„ λ§ν•œλ‹€λ„€μš”.
  4. μŠ€νƒμΆ”μ  : 디버깅 κ³Όμ •μ—μ„œ 싀행쀑에 호좜된 ν•¨μˆ˜μ˜ μŠ€νƒ 정보λ₯Ό μΆ”μ ν•˜λŠ”κ²ƒμœΌλ‘œ ν”„λ‘œκ·Έλž¨μ΄ μ–΄λ–€ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜κ³  μžˆλŠ”μ§€, ν•¨μˆ˜ 호좜의 μˆœμ„œ 및 인수 κ°’, λ°˜ν™˜ 값을 νŒŒμ•…ν•˜λŠ”λ° 도움을 μ€λ‹ˆλ‹€.

μ˜€μ€€μ„ μ„ μƒλ‹˜μ˜ 디버깅 팁

  1. μž‘κ²Œ μ‹œμž‘ν•˜κΈ°

    디버깅 ν•  λ•Œ μž‘μ€ λ¬Έμ œλΆ€ν„° μ‹œμž‘ν•˜λŠ” 것이 μ€‘μš”ν•˜κ³  이렇고 μ €λ ‡κ²Œ ν•˜λ©΄ 더 큰 문제둜 λ„˜μ–΄κ°€κΈ° 전에 ν•œλ²ˆμ— ν•œκ°€μ§€ λ¬Έμ œμ— 집쀑할 수 μžˆλ‹€κ³  ν•©λ‹ˆλ‹€.

  2. λ‹¨μˆœν•˜κ²Œ μœ μ§€ν•˜κΈ°

    디버깅할 λ•Œ μ½”λ“œλ₯Ό λ‹¨μˆœν•˜κ²Œ μœ μ§€ν•˜λŠ” 것이 μ€‘μš”ν•˜κ³ , 였λ₯˜μ˜ 원인을 νŒŒμ•…ν•˜κΈ° 더 μ‰¬μ›Œμ§‘λ‹ˆλ‹€.

  3. 인내심을 κ°€μ§€κΈ°

    디버깅은 μ‹œκ°„μ΄ 많이 걸릴 수 μžˆμœΌλ―€λ‘œ 인내심을 κ°–λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. 였λ₯˜λ₯Ό λκΉŒμ§€ λ°”λ‘œ μ°Ύμ•„λ‚΄μ§€ λͺ»ν•˜λ”라도 λ‚™μ‹¬ν•˜μ§€ λ§ˆμ„Έμš”.(μ € 이미 문제 ν’€λ‹€κ°€ λ‚™μ‹¬ν–ˆμ–΄μš”β€¦β€¦)

    스크란샷 2023-06-07 α„‹α…©α„Œα…₯ᆫ 1.40.08.png

Chat gpt의 디버깅 팁

스크란샷 2023-06-07 α„‹α…©α„Œα…₯ᆫ 1.44.00.png

λžŒλ‹€μ‹