using System.ComponentModel;
namespace CSharp
{
internal class Program
{
//메소드 호출은 영화 Inception과 비슷하다
// 비유 현실-> 1차꿈 -> 2차꿈
static void Print(int value)
{
Console.WriteLine(value);
}
static int AddAndPrint(int a, int b)
{
int ret = a + b;
Print(ret);
return ret;
}
static int Add(int a, int b)
{
int ret = a + b;
return ret;
}
static void Main(string[] args)
{
//int ret = Program.Add(10, 20);
//ret = ret + 1;
//Console.WriteLine(ret);
int ret = Program.AddAndPrint(10, 20);
ret = Program.AddAndPrint(12, 20);
ret = Program.AddAndPrint(110, 20);
ret = Program.AddAndPrint(101, 20);
ret = Program.AddAndPrint(102, 20);
}
}
}
🔹 디버깅 모드(Debug Mode)와 출시 후 프로그램 비교
🔹 브레이크포인트란?
🔹 브레이크포인트 설정 방법
F9 키를 눌러 설정 🔹 브레이크포인트 해제 방법
F9 키를 한 번 더 누르면 해제됨 
hp <= 0인 경우에만 중단 
디버깅 중 코드를 한 줄씩 실행하며 분석할 수 있음.
각 실행 방식에 대한 단축키와 차이점을 정리하면 다음과 같음.
| 단축키 | 기능 설명 |
|---|---|
| F10 (Step Over) | 한 줄씩 실행하되, 함수 내부로 들어가지 않음. |
| F11 (Step Into) | 한 줄씩 실행하되, 함수 내부로 들어감. |
| Shift + F11 (Step Out) | 현재 함수 실행을 완료하고, 호출한 지점으로 돌아감. |
| Ctrl + F5 (Continue) | 다음 브레이크포인트까지 빠르게 실행. |
📌 비유로 이해하기
F10: "이 줄 실행하고 결과만 볼게!" (함수 내부 X) F11: "함수 내부도 자세히 보고 싶어!" (함수 내부 O) Shift + F11: "이 함수 다 봤으니 밖으로 나갈게!" Ctrl + F5: "다음 중단점까지 쭉 실행해!"
🔹 조사식

🔹 디버깅 도중 실행 흐름을 변경 가능
hp = 50;이었을 때, hp = 100;으로 바꿀 수도 있음. 
🔹 모두 중단 (Break All) 버튼을 누르면 현재 실행 중인 프로그램을 즉시 멈출 수 있음
Pause 버튼을 누르면 현재 실행 상태에서 중지됨 🔹 프로그램이 실행 중 충돌(Crash)하면 크래시 덤프를 남길 수 있음