๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

์ „์ฒด ๋ณด๊ธฐ118

๋””๋ฒ„๊น…(Debugging)์˜ ๊ฐœ๋…๊ณผ ํ™œ์šฉ ๋””๋ฒ„๊น…(Debugging)์˜ ๊ฐœ๋…๊ณผ ํ™œ์šฉ ๋””๋ฒ„๊น…์ด๋ž€? ๋””๋ฒ„๊น…์€ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ, ์˜ค๋ฅ˜, ํ˜น์€ ์›์น˜ ์•Š๋Š” ๋™์ž‘์„ ์ฐพ์•„๋‚ด๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ์˜ ์ •ํ™•์„ฑ์„ ๊ฒ€์ฆํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์˜๋„ํ•œ ๋Œ€๋กœ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฒ„๊น…์€ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์™€ ๊ธฐ์ˆ ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊น…์˜ ์—ญํ•  1. ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋””๋ฒ„๊น…์€ ์ฝ”๋“œ์—์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋ฅผ ์ฐพ์•„๋‚ด๊ณ  ์ด๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ํ•ด๊ฒฐ์„ ํ†ตํ•ด ์•ˆ์ •์ ์ด๊ณ  ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. ์ฝ”๋“œ ์ดํ•ด ๋””๋ฒ„๊น…์€ ์ฝ”๋“œ์˜ ๋™์ž‘์„ ๋‹จ๊ณ„๋ณ„๋กœ ์‚ดํŽด๋ณด๊ณ  ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ๊ฐ ์ฝ”๋“œ ๋ผ์ธ์—์„œ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ํ™•์ธํ•˜๊ณ  ์‹คํ–‰ ํ๋ฆ„์„ ์ถ”์ ํ•˜์—ฌ ์ฝ”๋“œ์˜ ๋™์ž‘์„ ํŒŒ.. 2024. 3. 6.
Visual Studio Code์˜ Run and Debug ๊ธฐ๋Šฅ Visual Studio Code์˜ Run and Debug ๊ธฐ๋Šฅ ์†Œ๊ฐœ Visual Studio Code(VSCode)๋Š” ํ˜„๋Œ€์ ์ด๊ณ  ๊ฒฝ๋Ÿ‰ํ™”๋œ ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ๋กœ, ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ์–ธ์–ด์™€ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ํ’๋ถ€ํ•œ ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์ค‘์—์„œ 'Run and Debug' ๊ธฐ๋Šฅ์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. VSCode Run and Debug์˜ ์—ญํ•  1. ์ฝ”๋“œ ์‹คํ–‰ VSCode์˜ Run and Debug๋Š” ์ฝ”๋“œ๋ฅผ ์„ ํƒํ•œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๋‹จ์ถ•ํ‚ค ๋˜๋Š” ๋ฉ”๋‰ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ์ถœ๋ ฅ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. ๋””๋ฒ„๊น… ๋””๋ฒ„๊น…์€ ์ฝ”๋“œ ๋‚ด์˜ ์˜ค๋ฅ˜๋ฅผ ์ฐพ์•„๋‚ด๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๊ณผ์ •์œผ๋กœ, VSCode๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ง๊ด€์ ์ด๊ณ  ๊ฐ•๋ ฅ.. 2024. 3. 5.
JavaScript Callstack: ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์˜ ํ•ต์‹ฌ JavaScript Callstack: ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์˜ ํ•ต์‹ฌ ์†Œ๊ฐœ JavaScript Callstack(ํ˜ธ์ถœ ์Šคํƒ)์€ JavaScript ์—”์ง„์ด ํ•จ์ˆ˜ ์‹คํ–‰์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ค‘ ํ•˜๋‚˜๋กœ, ์ฝ”๋“œ์˜ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ฅผ ์Šคํƒ ํ˜•ํƒœ๋กœ ์ถ”์ ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ๊ณผ ๋ฐ˜ํ™˜์„ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์ฝ”๋“œ์˜ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. JavaScript Callstack์˜ ์—ญํ•  1. ํ•จ์ˆ˜ ํ˜ธ์ถœ๊ณผ ๋ฐ˜ํ™˜ ๊ด€๋ฆฌ Callstack์€ ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ์Šคํƒ์— ์Œ“๊ณ , ํ•จ์ˆ˜์˜ ์‹คํ–‰์ด ์™„๋ฃŒ๋˜๋ฉด ์Šคํƒ์—์„œ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์–ด๋–ค ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ ๊ฐ ํ•จ์ˆ˜ ์‹คํ–‰์— ๋Œ€ํ•œ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋Š” ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ์„ ์–ธ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์–ด ์ฝ”๋“œ ์‹คํ–‰์— .. 2024. 3. 5.
Pinpoint: ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ Pinpoint: ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ ์†Œ๊ฐœ Pinpoint๋Š” ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ์˜ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์ง€์›ํ•˜๋Š” ๋„๊ตฌ๋กœ, ๋„ค์ด๋ฒ„์—์„œ ๊ฐœ๋ฐœ๋œ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ ์ด์Šˆ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ, ๋ณต์žกํ•œ ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ์˜ ํŠธ๋žœ์žญ์…˜ ์ถ”์ , ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง, ๋ฃจํŠธ ์›์ธ ๋ถ„์„ ๋“ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Pinpoint์˜ ์—ญํ•  1. ํŠธ๋žœ์žญ์…˜ ์ถ”์  Pinpoint๋Š” ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ํŠธ๋žœ์žญ์…˜์„ ์ถ”์ ํ•˜๊ณ  ๊ฐ ํŠธ๋žœ์žญ์…˜์˜ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ์ดํ•ดํ•˜๊ณ  ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ถ„์‚ฐ๋œ ์„œ๋ฒ„, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ์˜ ์„ฑ๋Šฅ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง.. 2024. 3. 5.