Skip to content

Latest commit

ย 

History

History
28 lines (22 loc) ยท 1.9 KB

19_debug.md

File metadata and controls

28 lines (22 loc) ยท 1.9 KB

GIT ๋„๊ตฌ - GIT์œผ๋กœ ๋ฒ„๊ทธ์ฐพ๊ธฐ(Blame, Bisect)

  • GIT์—๋Š” version ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๋ง๊ณ ๋„ project๋ฅผ debuggingํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ข‹์€ ๊ธฐ๋Šฅ๋„ ๊ฐ–๊ณ  ์žˆ๋‹ค
  • ๊ฐœ๋ณ„ file์— ์ƒ๊ธด ๋ชจ๋“  ๋ณ€ํ™”๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๊ธฐ์— debugging์— ๋งค์šฐ ํŽธ๋ฆฌํ•˜๋‹ค

File Annotation(Blame)

  • ์ฝ”๋“œ ํ•œ ์ค„ ๋งˆ๋‹ค ๋ˆ„๊ฐ€, ์–ธ์ œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด git blame์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค
  • git blame ํŒŒ์ผ๋ช…์„ ์ž…๋ ฅํ•˜๋ฉด ์ด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , git blame -L ์˜ต์…˜์„ ํ™œ์šฉํ•˜๋ฉด ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜์—ฌ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค
  • git blame -C -L ์˜ต์…˜์„ ํ™œ์šฉํ•˜๋ฉด file ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•œ ์ด๋ ฅ๋„ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค



์ด์ง„ ํƒ์ƒ‰(Bisect)

  • ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ์— ํ™•์ธํ•ด์•ผ ํ•  commit์ด ์—„์ฒญ ๋งŽ๋‹ค๋ฉด, ๋งค์šฐ ๊ณ ํ†ต์Šค๋Ÿฌ์šธ ๊ฒƒ์ด๋‹ค
  • ์ด๋Ÿฐ ๊ฒฝ์šฐ์— bisect๋ฅผ ์ด์šฉํ•˜๋ฉด ์ด์ง„ ํƒ์ƒ‰ algorithm์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ์ง€์ ์„ ๋น ๋ฅด๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค
  • ์šฐ์„ , ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋˜ ํ™•์‹คํ•œ version์œผ๋กœ checkout ํ•ด์•ผํ•œ๋‹ค

  • ์—ฌ๊ธฐ์„œ git bisect start๋ฅผ ํ•˜๊ณ , ๋ฌธ์ œ๊ฐ€ ์—†๋Š” commit์ด๋‹ˆ, git bisect good์„ ์ž…๋ ฅํ•œ๋‹ค
  • ์ดํ›„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ commit์œผ๋กœ ๋‹ค์‹œ checkoutํ•œ ํ›„, git bisect bad๋ฅผ ์ž…๋ ฅํ•œ๋‹ค

  • bisect์— ์˜ํ•ด์„œ commit ์‚ฌ์ด๋ฅผ ๊ณ„์† ํƒ์ƒ‰ํ•˜๊ฒŒ ๋˜๊ณ , ์ง์ ‘ ํ”„๋กœ๊ทธ๋žจ์„ ํ™•์ธํ•˜๋ฉด์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค
  • ๋ฌธ์ œ๊ฐ€ ์—†์œผ๋ฉด git bisect good / ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด git bisect bad๋ฅผ ์‚ฌ์šฉํ•˜์ž
  • bisect๋ฅผ ๋๊นŒ์ง€ ๋”ฐ๋ผ๊ฐ€๋‹ค ๋ณด๋ฉด, ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ version์— ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค