함수호출 구조
Visual C++ 6.0 디버그 모드 이용
소스코드에서 브레이크 포인트 를 먼저 정해야한다. 원하는 라인에서 F9를 누르면 라인에 빨간 표시가 생기는데 브레이크 포인트라고 한다.
실행파일이 있어야 디버그 모드가 되므로 빌드를 한 후 디버그 모드를 사용하자
main함수 안의 int A에 브레이크 포인트를 설정하고
ESP, EBP, EIP, eax, ebx, ecx, edx 를 확인하여야 한다.
F5가 디버그 시작이고
SHIFT+F5 가 디버그 모드 종료 이다.
디버그 모드 중에
F11 이 한 단계씩 실행
F10 이 프로시져 단위로 실행
SHIFT+F11이 프로시져 나가기
Visual C++6 에서는 메모리의 쓰레기값이 CC로 표시된다. 컴파일 시에 따로 CC값을 넣는 명령어를 자동으로 만들어 값을 넣는다.
디버그 모드 중에 디어셈블리 창이 있다. 우리가 만든 C소스를 어셈블리 명령어로 바꾼 화면인데, 이 어셈블리어를 보면 시스템의 최적화 유무를 확인 할 수 있다. 예를들어 1000을 하나씩 세던가 ,아니면 바로 1000을 넣던가 이렇게 어셈블리어로 나오기 때문에 확인이 가능하다. 우리가 의도한 것을 왜곡 하여 나타내는가 아닌가 를 알 수 있다.
Visual C++ 6.0 디버그 모드 이용
소스코드에서 브레이크 포인트 를 먼저 정해야한다. 원하는 라인에서 F9를 누르면 라인에 빨간 표시가 생기는데 브레이크 포인트라고 한다.
실행파일이 있어야 디버그 모드가 되므로 빌드를 한 후 디버그 모드를 사용하자
#include "HexaView.h" |
main함수 안의 int A에 브레이크 포인트를 설정하고
ESP, EBP, EIP, eax, ebx, ecx, edx 를 확인하여야 한다.
F5가 디버그 시작이고
SHIFT+F5 가 디버그 모드 종료 이다.
디버그 모드 중에
F11 이 한 단계씩 실행
F10 이 프로시져 단위로 실행
SHIFT+F11이 프로시져 나가기
Visual C++6 에서는 메모리의 쓰레기값이 CC로 표시된다. 컴파일 시에 따로 CC값을 넣는 명령어를 자동으로 만들어 값을 넣는다.
디버그 모드 중에 디어셈블리 창이 있다. 우리가 만든 C소스를 어셈블리 명령어로 바꾼 화면인데, 이 어셈블리어를 보면 시스템의 최적화 유무를 확인 할 수 있다. 예를들어 1000을 하나씩 세던가 ,아니면 바로 1000을 넣던가 이렇게 어셈블리어로 나오기 때문에 확인이 가능하다. 우리가 의도한 것을 왜곡 하여 나타내는가 아닌가 를 알 수 있다.
디버그를 하게 되면 프로그램이 자체적으로 디버그 코드를 넣어서 스톱시키게 되는것이라 크기가 커진다.
이 디버그 모드를 제거하여 만든것이 릴리즈 모드인데, 디버그 코드가 빠진것이라 릴리즈 테스트가 필요하다.
'C언어' 카테고리의 다른 글
11월 29일 C언어 구조체 (1) | 2010.11.29 |
---|---|
11월 24일 C언어 Hexaview 화면 분석 (0) | 2010.11.24 |
11월 23일 C언어 헥사뷰어,make build tool (0) | 2010.11.23 |
11월 22일 C언어 main()함수의 인수,구조체 (0) | 2010.11.22 |
11월 19일 C언어 문자열을다루는배열,문자열을 가리키는 포인터의 배열 (1) | 2010.11.19 |