강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

커피는 마끼아또님의 프로필 이미지
커피는 마끼아또

작성한 질문수

홍정모의 따라하며 배우는 C언어

2.10 디버거 사용법

Step over 기능 문의

작성

·

10

1

Step over의 정확한 기능이 이해가 되지 않아 문의드립니다.

 

강의 내용 중, F10은 들여다보지는 않고 실행 만을 시킨다고 표현하셨는데 정확한 의미가 이해가 되지 않아 문의 드립니다.

 

말씀 주신 들여다 본다 라는 표현이 F11로 한줄 씩 실행하는 거라면, F10은 살펴보지 않고 실행만을 한다는 게 구체적으로 어떤 의미 일까요..?

답변 2

0

안녕하세요? 질문&답변 도우미 durams입니다.

  • Step Over는 현재 line에 함수 호출이 있을 때, 해당 함수 내부로 들어가지 않고, 현재 줄을 모두 완료시키며 다음 줄로 넘어갑니다.

  • Step Into는 호출하는 함수 내부로 들어가게됩니다. 보다 정확히는 해당 함수에 대한 구현이 열람 가능한 상태일 때 들어갈 수 있습니다. 강의에서 소개된 printf 예시처럼 구현이 제공되지 않고 빌드된 라이브러리 파일(lib 또는 dll)만 주어지는 경우, step into는 수행되지 않고 step over와 동일하게 동작됩니다.

디버거에서 프로그램을 천천히 실행한다는 큰 틀에서 얼마나 세부적인 수준까지 들어가서 볼 것인지가 차이라고 보시면 될 것 같습니다. Step Into를 여러번해서 함수 안으로 들어갔다가 return까지 하고 나오면 Step Over를 한 번 한 것과 같습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 커피는 마끼아또님.

디버깅 과정에서 말씀하신 “Step Over (F10)“와 “Step Into (F11)” 기능의 차이에 대해 상세히 설명드리겠습니다.

“Step Over (F10)“는 지정된 함수 호출을 들어가지 않고 다음 줄로 넘어가는 기능입니다. 함수의 내부 구현을 살펴볼 필요가 없을 때 사용하면 유용하죠. 반면, 함수가 반환되는 즉시 결과와 함께 실행은 계속됩니다. 즉, 함수 내부의 세부 내용을 생략하고 싶을 때, F10을 사용하는 것이죠.

“Step Into (F11)“는 함수로 들어가서 해당 호출의 내부 코드까지 한 줄씩 탐험할 수 있게 하는 기능입니다. 함수의 작동 방식이나 내부에서 어떤 일이 일어나는지 확인하고 싶을 때 사용하면 좋습니다.

이러한 기능은 디버그 시 각 함수가 어떻게 동작하는지 또는 단순히 동작 결과만 확인할 것인지 판단하고 사용하는 데 큰 도움이 됩니다.

추가적으로, 디버깅의 흐름이나 각 기능에 대한 더 많은 예시는 아래 관련 질문 게시판을 참고하시면 좋습니다:

  1. 디버그 되돌리기? - 디버깅 흐름 제어에 대한 추가 정보.
  2. 강의에서 키보드 - 키보드 명령어에 대한 설명, 일부 디버깅 관련 내용을 포함.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

커피는 마끼아또님의 프로필 이미지
커피는 마끼아또

작성한 질문수

질문하기