비디오: 로깅 파일 처리 및 재난 상황 탐지 2024
때때로 C 프로그래밍 지침의 문제는 단순히 프로그램 흐름. 아니요. 코드를 실행하는 동안 변수를 값으로보고 내려야합니다. The Code:: Block의 디버거는 프로그램의 모든 변수를 볼 수있게 해주어 프로그램이 실행될 때 변수의 내용을 보여줍니다.
어디에서 변수가 변하는가
#include #include int main () {int x; int * px; px = & x; for (x = 0; x <10; x ++) printf ("% dn", * px); return 0;}
연습 1 : 새 코드 만들기:: 디버깅이 활성화 된 상태에서 프로젝트를 차단합니다. 위의 소스 코드를 메인에 복사하십시오. C 파일. 빌드하고 실행하십시오. 그것의 작동 여부를 확인하십시오.
잘못 입력하지 않는 한, 그렇지 않거나하지 않아야합니다. 디버깅 할 시간! 다음 단계를 따르십시오.
-
정수 변수 x 가 선언 된 행 6의 시작 부분에 마우스를 놓으십시오.
-
디버깅 도구 모음에서 실행 커서 단추를 클릭하십시오.
-
Windows 디버깅 버튼을 클릭합니다.
-
시계 명령을 선택하십시오.
시계 창이 나타납니다.
-
시계 창에서 첫 번째 파란색 상자에서 마우스를 클릭하십시오.
-
변수 x 에 x를 입력하고 Enter 키를 누릅니다.
-
px 포인터에 저장된 메모리 위치를 검사하려면 다음 행에 px를 입력하십시오. Enter 키를 누르십시오.
-
세 번째 줄에 * px를 입력하여 포인터 px에 저장된 메모리 위치의 내용을 검사합니다. Enter 키를 누르십시오.
값이 초기화되지 않은 경우에도 해당 변수에 값이 표시 될 수 있습니다. 예를 들어 화면에서 변수 x 는 변수 56에 값이 할당되기 전에 임의의 가비지가 메모리에 나타나는 값인 56을 유지합니다.
변수가 초기화 될 때까지 그 내용은 쓰레기입니다.
-
커서가 Line 10, for 루프의 시작 부분에 올 때까지 디버깅 도구 모음에서 다음 줄 단추를 클릭하십시오.
포인터 px의 값이 변수 x 의 메모리 위치에 할당되면 Watch 창에 유의하십시오. 즉시 메모리 주소가 변수 px로 표시되고 * px 변수가 변수 x 에 할당 된 것과 동일하게 설정되는 것을 볼 수 있습니다. 포인터가 초기화되었습니다!
-
다음 줄 버튼을 다시 클릭하십시오.
for 루프가 시작되면 변수 x 의 값이 초기화됩니다. * px 값과 함께 시계 창에서 값 변경이 표시됩니다. px의 값 (변수 x 의 주소)은 변경되지 않습니다.
-
계속해서 코드를 단계별로 실행하여 값 변경을 확인합니다.
-
완료되면 중지 버튼을 클릭하십시오.
메모리에서 변수를 검사하는 것이 코드에서 어떤 일이 벌어지는지를 확인하는 또 다른 좋은 방법입니다. 변수가 원하는대로 터지지 않으면 해당 변수를 조작하는 명령문을 확인해야합니다.
또한 메모리의 포인터를 검사하여 포인터가 작동하는 방식을 더 잘 이해할 수 있습니다.