๐Ÿ•ท๏ธ Visual Studio ์ค‘๋‹จ์  ์‚ฌ์šฉ๋ฒ•

Hansol Kangยท2022๋…„ 12์›” 15์ผ
0

Visual Studio

๋ชฉ๋ก ๋ณด๊ธฐ
1/2

๐Ÿ’–๊ธฐ๋ณธ ๋‹จ์ถ•ํ‚ค
F9: ์ค‘๋‹จ์  ์„ค์ •/์‚ญ์ œ
F10: ํ”„๋กœ์‹œ์ € ๋‹จ์œ„ ์‹คํ–‰, ํ•ด๋‹น ์ค„์˜ ๋‹ค์Œ ์ค„ ์‹คํ–‰
F11: ํ•œ ๋‹จ๊ณ„์”ฉ ์‹คํ–‰, ํ•จ์ˆ˜๋ฅผ ๋งŒ๋‚˜๋ฉด ํ•จ์ˆ˜ ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ
Shift+F11: ํ”„๋กœ์‹œ์ € ๋‚˜๊ฐ€๊ธฐ, ํ•จ์ˆ˜ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€์„œ ์‹คํ–‰

๐Ÿ’ซ ๊ณ ๊ธ‰ ๋‹จ์ถ•ํ‚ค
Ctrl+F9: ์ค‘๋‹จ์  ํ•ด์ œ
Ctrl+Shift+F9: ๋ชจ๋“  ์ค‘๋‹จ์  ์‚ญ์ œ
Alt+F9: ์ค‘๋‹จ์  ์ฐฝ ๋„์šฐ๊ธฐ
Ctrl+F10: ์ปค์„œ๊นŒ์ง€ ์‹คํ–‰
Ctrl+K, B: ํ•จ์ˆ˜ ์ค‘๋‹จ์ 
Shift+Alt+F9, T: ์ž„์‹œ ์ค‘๋‹จ์ 


ํ•จ์ˆ˜ ์ค‘๋‹จ์ ๊นŒ์ง€ ์‹คํ–‰
๋ฐ์ดํ„ฐ ์ค‘๋‹จ์  ์„ค์ •
์ข…์† ์ค‘๋‹จ์  ์„ค์ •
์ž„์‹œ ์ค‘๋‹จ์  ๋˜๋Š” ํ†ตํ•ฉ ์ค‘๋‹จ์  ์„ค์ •
์ค‘๋‹จ์  ๋ ˆ์ด๋ธ”
์ค‘๋‹จ์  ๋‚ด๋ณด๋‚ด๊ธฐ
์ค‘๋‹จ์  ๊ฐ€์ ธ์˜ค๊ธฐ
ํ˜ธ์ถœ ์Šคํƒ ์ฐฝ์—์„œ ์ค‘๋‹จ์  ์„ค์ •
Reference


ํ•จ์ˆ˜ ์ค‘๋‹จ์ ๊นŒ์ง€ ์‹คํ–‰

ํ•จ์ˆ˜ ์ด๋ฆ„์œผ๋กœ ์ค‘๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•
๋””๋ฒ„๊ทธ -> ์ƒˆ ์ค‘๋‹จ์  -> ํ•จ์ˆ˜ ์ค‘๋‹จ์ 
๋˜๋Š” Ctrl+K, B

๋ฐ์ดํ„ฐ ์ค‘๋‹จ์  ์„ค์ •

.NET Core 3.x ๋˜๋Š” .NET 5+
ํŠน์ • ๊ฐœ์ฒด์˜ ์†์„ฑ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์‹คํ–‰์„ ์ค‘๋‹จ
์ž๋™, ์กฐ์‚ฌ์‹ ๋˜๋Š” ์ง€์—ญ ์ฐฝ์—์„œ ์†์„ฑ์„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ํด๋ฆญ, ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋ฉด ์ค‘๋‹จ ์„ ํƒ

.NET Core์˜ ๋ฐ์ดํ„ฐ ์ค‘๋‹จ์ ์€ ๋‹ค์Œ์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋„๊ตฌ ์„ค๋ช…, ์ง€์—ญ, ์ž๋™ ๋˜๋Š” ์กฐ์‚ฌ์‹ ์ฐฝ์—์„œ ํ™•์žฅํ•  ์ˆ˜ ์—†๋Š” ์†์„ฑ
์ •์  ๋ณ€์ˆ˜
DebuggerTypeProxy ํŠน์„ฑ์ด ์žˆ๋Š” ํด๋ž˜์Šค
๊ตฌ์กฐ์ฒด ๋‚ด์˜ ํ•„๋“œ

์ข…์† ์ค‘๋‹จ์  ์„ค์ •

์ข…์† ์ค‘๋‹จ์ (Dependent Breakpoint)์€ ๋‹ค๋ฅธ ์ค‘๋‹จ์ ์ด ๋จผ์ € ์ ์ค‘๋œ ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰์„ ์ค‘๋‹จ
์„ ํƒ์กฐ๊ฑด์—์„œ ๋‹ค์Œ ์ค‘๋‹จ์ ์ด ์ ์ค‘๋œ ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉ์„ ์„ ํƒ

์ž„์‹œ ์ค‘๋‹จ์  ๋˜๋Š” ํ†ตํ•ฉ ์ค‘๋‹จ์  ์„ค์ •

VS ๋ฒ„์ „์— ๋”ฐ๋ผ ๋ช…์นญ ํ™•์ธ ํ•„์š”

์ž„์‹œ ์ค‘๋‹จ์ (Temporary Breakpoint)์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ํ•œ ๋ฒˆ๋งŒ ์ค‘๋‹จ
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ•œ ๋ฒˆ๋งŒ ์ผ์‹œ ์ค‘์ง€ํ•˜๊ณ  ์ ์ค‘๋œ ์ค‘๋‹จ์ ์„ ๋ฐ”๋กœ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

์•„์ด์ฝ˜์— ์‹œ๊ณ„ ๋ชจ์–‘์žˆ๋Š” ๊ฒƒ์ด ํŠน์ง•
์ฝ”๋“œ ์ค„ ์˜†์˜ ๋งจ ์™ผ์ชฝ ์—ฌ๋ฐฑ์„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋‹จ์ถ”๋กœ ํด๋ฆญํ•˜๊ณ  ์ž„์‹œ ์ค‘๋‹จ์  ์‚ฝ์ž…์„ ์„ ํƒ
๋˜๋Š” Shift+Alt+F9, T๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์ค„์— ์ž„์‹œ ์ค‘๋‹จ์ ์„ ์„ค์ •

๋˜๋Š” ์ด๋ฏธ ์„ค์ •๋œ ์ค‘๋‹จ์ ์ด๋ผ๋ฉด, ์กฐ๊ฑด์—์„œ ์ ์ค‘๋˜๋ฉด ์ค‘๋‹จ์  ์ œ๊ฑฐ๋ฅผ ์ฒดํฌ

์ค‘๋‹จ์  ๋ ˆ์ด๋ธ”

์˜ค๋ฅธ์ชฝ ๋‹จ์ถ”๋กœ ํด๋ฆญํ•œ ๋‹ค์Œ ๋ ˆ์ด๋ธ” ํŽธ์ง‘
๊ฒ€์ƒ‰๊ธฐ๋Šฅ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Œ

์ค‘๋‹จ์  ๋‚ด๋ณด๋‚ด๊ธฐ

1. ๋‹จ์ผ์ค‘๋‹จ์  ๋‚ด๋ณด๋‚ด๊ธฐ

๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ -> ์„ ํƒํ•œ ํ•ญ๋ชฉ ๋‚ด๋ณด๋‚ด๊ธฐ

2. ์—ฌ๋Ÿฌ ์ค‘๋‹จ์  ๋‚ด๋ณด๋‚ด๊ธฐ

์›ํ•˜๋Š” ์ค‘๋‹จ์ ์„ ์ฒดํฌํ•˜๊ณ  ๋‚ด๋ณด๋‚ด๊ฑฐ๋‚˜, ๊ฒ€์ƒ‰์กฐ๊ฑด๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ์ค‘๋‹จ์  ๋‚ด๋ณด๋‚ด๊ธฐ

3. ๋ชจ๋“  ์ค‘๋‹จ์  ๋‚ด๋ณด๋‚ด๊ธฐ

๊ฒ€์ƒ‰ ์ฐฝ์„ ๊ณต๋ฐฑ์œผ๋กœ ๋‘๊ณ , ๊ฒ€์ƒ‰ ์กฐใ…“ใ„ด๊ณผ ์ผ์ง€ํ•˜๋Š” ๋ชจ๋“  ์ค‘๋‹จ์  ๋‚ด๋ณด๋‚ด๊ธฐ

์ค‘๋‹จ์  ๊ฐ€์ ธ์˜ค๊ธฐ

์ค‘๋‹จ์  ์ฐฝ์—์„œ ํŒŒ์ผ์—์„œ ์ค‘๋‹จ์  ๊ฐ€์ ธ์˜ค๊ธฐ ์•„์ด์ฝ˜์„ ์„ ํƒํ•˜๊ณ  ์ค‘๋‹จ์  XML ํŒŒ์ผ์„ ์„ ํƒ

ํ˜ธ์ถœ ์Šคํƒ๊ณผ ์ค‘๋‹จ์  ์„ค์ •

ํ˜ธ์ถœ ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ช…๋ น ๋˜๋Š” ์ค„์—์„œ ์ค‘๋‹จํ•˜๋ ค๋ฉดย ํ˜ธ์ถœ ์Šคํƒย ์ฐฝ์—์„œ ์ค‘๋‹จ์ ์„ ์„ค์ •

ํ˜ธ์ถœ ์Šคํƒ ์ฐฝ ์—ด๊ธฐ
๋””๋ฒ„๊ทธํ•˜๋Š” ๋™์•ˆ์— ์—ด ์ˆ˜ ์žˆ์Œ. ๋””๋ฒ„๊ทธ ์ค‘ ๋””๋ฒ„๊ทธ -> ์ฐฝ -> ํ˜ธ์ถœ ์Šคํƒ์„ ์„ ํƒ
๋˜๋Š” Ctrl+Alt+C

ํ˜ธ์ถœ ์Šคํƒ์—์„œ ์ค‘๋‹จ์  ์„ค์ •
ํ˜ธ์ถœ ์Šคํƒ ์ฐฝ์—์„œ ํ˜ธ์ถœ ํ•จ์ˆ˜๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋‹จ์ถ”๋กœ ํด๋ฆญํ•˜๊ณ ย ์ค‘๋‹จ์  -> ์ค‘๋‹จ์  ์‚ฝ์ž…์„ ์„ ํƒ
๋˜๋Š”ย F9
ํ˜ธ์ถœ ์Šคํƒ์˜ ์™ผ์ชฝ ์—ฌ๋ฐฑ์—์„œ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ด๋ฆ„ ์˜†์— ์ค‘๋‹จ์  ๊ธฐํ˜ธ๊ฐ€ ํ‘œ์‹œ


Reference

๋””๋ฒ„๊ทธ ์ค‘๋‹จ์ : https://learn.microsoft.com/ko-kr/visualstudio/debugger/using-breakpoints?view=vs-2022#BKMK_Set_a_breakpoint_from_debugger_windows

profile
๋†€๋ฉด ๋ญํ•˜๋‹ˆ ์ •๋ฆฌํ•ด

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด