Studynote/Java, Spring

[Java ์ž…๋ฌธ] ๋””๋ฒ„๊น…

minzhen 2022. 7. 5. 19:54

์šฉ์–ด์™€ ๊ฐœ๋…

 
  • Bug : ๋ฒ„๊ทธ. ์šฐ๋ฆฌ๊ฐ€ ์ง  ํ”„๋กœ๊ทธ๋žจ์˜ ์˜๋„ํ•˜์ง€ ์•Š์€ ์˜ค๋ฅ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค
  • Debugging : ๋””๋ฒ„๊น…. ๋ฒ„๊ทธ๋ฅผ ์žก๋Š” ํ–‰์œ„
  • Debugger : ๋””๋ฒ„๊ฑฐ. ๋””๋ฒ„๊น…์„ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ

 

๐Ÿ’ก
์—ฌ๋Ÿฌ ํ˜„๋Œ€ ๊ฐœ๋ฐœ ๋„๊ตฌ๋“ค์€ ๋‚ด๋ถ€์ ์œผ๋กœ ๋””๋ฒ„๊ฑฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ๋ฒ•๋„ ๊ฑฐ์˜ ๋น„์Šทํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์˜ค๋Š˜์€ eclipse์—์„œ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์‚ดํŽด๋ณด๋ฉด, ๋‹ค์Œ์—๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ ๋„๊ตฌ์—์„œ๋„ ๋ฌด๋ฆฌ ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

 

 

๋””๋ฒ„๊ฑฐ ์‚ฌ์šฉํ•˜๊ธฐ

์ฝ”๋“œ์—์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ฑฐ๋‚˜, ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๋””๋ฒ„๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
 

01. ๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํ„ฐ ์ƒ์„ฑํ•˜๊ธฐ

๋””๋ฒ„๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š”, ์ผ๋‹จ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ์ค‘๊ฐ„์— ๋ฉˆ์ถ”๋Š” ๊ฒƒ์ด๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋“ค์„ ๋”ฐ๋ผ๊ฐ€๋ณธ๋‹ค.

๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ฉˆ์ถ”๊ณ  ์‹ถ์€ ํฌ์ธํŠธ์˜ ์•ž์—์„œ ๋”๋ธ”ํด๋ฆญ์„ ํ•ด์ฃผ๋ฉด ์ž‘์€ ๋™๊ทธ๋ผ๋ฏธ๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ, ์ด๋ฅผ Break pointer๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๋™๊ทธ๋ผ๋ฏธ๋Š” ๋‹ค์‹œ ๋”๋ธ”ํด๋ฆญ์„ ํ•˜๋ฉด ์—†์–ด์ง€๊ณ , ๋‹ค์‹œ ๋”๋ธ”ํด๋ฆญ์„ ํ•˜๋ฉด ๋‹ค์‹œ ์ƒ๊ธด๋‹ค.

 

02. ๋””๋ฒ„๊ฑฐ๋กœ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ํ•˜๊ธฐ

์ดํด๋ฆฝ์Šค์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ, ๋ณดํ†ต ์žฌ์ƒ๋ฒ„ํŠผ์ฒ˜๋Ÿผ ์ƒ๊ธด Run ๊ธฐ๋Šฅ์œผ๋กœ ์‹คํ–‰ํ•˜์ง€๋งŒ, ๋””๋ฒ„๊น… ํ•  ๋•Œ์—๋Š” ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค. ๋””๋ฒ„๊น…์„ ํ•  ๋•Œ์—๋Š” ๊ทธ ์™ผ์ชฝ์— ์œ„์น˜ํ•œ ๋ฒŒ๋ ˆ ๋ชจ์–‘์˜ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๋””๋ฒ„๊น…์„ ์‹คํ–‰ํ•œ๋‹ค.

์ด๋ฅผ ๋ˆ„๋ฅด๋ฉด ์™ผ์ชฝ ์ƒ๋‹จ์˜ ๋ฒ„ํŠผ๊ณผ ์ „๋ฐ˜์ ์ธ ์ž‘์—… ํ™˜๊ฒฝ์—๋„ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธด๋‹ค.

ํ‰์†Œ์—๋Š” ์™ผ์ชฝ์˜ JAVA ํ™˜๊ฒฝ์œผ๋กœ ์„ ํƒ๋˜์–ด์žˆ๋Š”๋ฐ, ๋””๋ฒ„๊น…์„ ์‹คํ–‰ํ•˜๋Š” ์ˆœ๊ฐ„ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์˜ Debug ๋ชจ๋“œ๋กœ ์ „ํ™˜๋˜๊ฒŒ ๋œ๋‹ค. ํ™”๋ฉด๋„ ๋‹ค์Œ ์‚ฌ์ง„๋“ค๊ณผ ๊ฐ™์ด ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธด๋‹ค.

์™ผ์ชฝ : ์ผ๋ฐ˜ Java ๋ชจ๋“œ   /   ์˜ค๋ฅธ์ชฝ : ๋””๋ฒ„๊น…์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ์˜ Debug ๋ชจ๋“œ

๊ทธ๋ฆฌ๊ณ  ๋””๋ฒ„๊น…์„ ์‹คํ–‰ํ•˜๋ฉด, ์šฐ๋ฆฌ๊ฐ€ ์„ค์ •ํ•ด๋‘์—ˆ๋˜ Break pointer์—์„œ ๋ฉˆ์ถฐ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

+) ์™ผ์ชฝ ์นธ : ์ง€๊ธˆ ์–ด๋–ค ์ฝ”๋“œ์˜ ๋ช‡์งธ ์ค„์„ ์‹คํ–‰์‹œํ‚ค๊ณ  ์žˆ๋Š”์ง€ ๋“ฑ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

02-1. Step Over / Step into

  • Step Over : ์ง€๊ธˆ๊นŒ์ง€ ์‹คํ–‰๋œ ์ฝ”๋“œ์—์„œ ํ•œ ์ค„ ํ•œ ์ค„ ๋‚ด๋ ค๊ฐ€๋ฉฐ ํ•œ ์ค„์”ฉ ์‹คํ–‰๋œ๋‹ค.
    • Step Into : ํ˜„์žฌ ๋ฉ”์†Œ๋“œ์˜ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
 
  •  Step Return : ํ•œ ์ค„ ๋’ค๋กœ ๊ฐ€๊ธฐ

 

 

03. Resume / Terminate๋กœ ํ•œ๋‹จ๊ณ„์”ฉ ํ™•์ธํ•˜๊ธฐ

์ด๋ ‡๊ฒŒ Step Over๋กœ ํ™•์ธํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„, ํ•œ ๊ตฌ๊ฐ„์”ฉ ์‹คํ–‰ํ•˜๋ฉฐ ๋””๋ฒ„๊น…์„ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์ด ๋–„์—๋Š” ์ƒˆ๋กœ์šด break pointer๋“ค์„ ์ถ”๊ฐ€ํ•ด๊ฐ€๋ฉฐ ํ•œ ๋‹จ๊ณ„์”ฉ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉˆ์ถฐ์žˆ๋Š” ํ™”์‚ดํ‘œ์—์„œ ๋‹ค์Œ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์€ ์ง€์ ๊นŒ์ง€ ํ™•์ธํ•œ ํ›„ ์ƒˆ๋กœ์šด ํฌ์ธํ„ฐ๋ฅผ ์ƒ์„ฑํ•ด๋‘๊ณ  ๊ทธ๋ฆผ์˜ Resume ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด, ๊ทธ ๋‹จ๊ณ„์—์„œ๋ถ€ํ„ฐ ๋‹ค์Œ ํฌ์ธํ„ฐ๊นŒ์ง€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜, ์˜ค๋ฅธ์ชฝ์˜ ์ฐฝ์—์„œ๋Š” ์ง€๊ธˆ ๋‹จ๊ณ„๊นŒ์ง€ ์‹คํ–‰๋œ ๋ณ€์ˆ˜ ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 


์ด ํฌ์ŠคํŒ…์€ Youtube - ์ƒํ™œ์ฝ”๋”ฉ JAVA1 ๊ฐ•์˜ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.