학점은행제/시스템프로그래밍
[시스템프로그래밍] 시스템 프로그래밍 프로젝트 디자인
단비_danbee
2021. 1. 18. 16:47
에러 코드 확인
1) 오류를 해결하기 위해 오류의 원인과 해결방법을 확인해보자
- Windows 시스템 함수 호출 시 오류 발생
- GetLastError 함수 호출을 통해 오류 원인 확인 가능
- Windows 시스템 함수 오류 발생 시 NULL을 반환
2) 에러코드가 정말 많은데 그중에 500~900번대에서 자주 보이는 에러 코드를 확인해보자
ERROR_ARITHMETIC_VERFLOW 534 | Arithmetic result exceeded 32bit. |
ERROR_PIPE_CONNECTED 535 | There is a process on other end of the pipe |
ERROR_PIPE_LISTENING 536 | Waiting for process to open the other end of the pipe |
ERROR_EA_ACCESS_DENIED 994 | Access to the extended attribute was denied |
ERROR_OPERATION_ABORTED 995 | The I/O operation has been aborted because of either a thread exit or an application request |
ERROR_I/O_PENDING 997 | Overlapped I/O operation is in progress |
ERROR_NOACCESS 998 | Invalid access to memory location |
ERROR_SWAPERROR 999 | Error performing in page operation |
3) 에러코드 획득 방법에 대한 예
실행 결과 : Error code 2
- CreateFile : 파일을 개방하는 함수
_T("ABC.DAT", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
= 파일탐색기를 열고 검색창에 ABC.DAT 을 쳐보자. 임의로 적은 없는 파일이기 때문에 에러가 나타난다.
- 존재하지 않는 파일 OPEN 설정, 함수 호출 실패
- CreateFile 함수 실패
INVALID_HANDLE_VALUE 반환
- 에러 코드 출력 "The system cannot find the file specified"
_tprintf(_T("error code:%d\n"), GetLastError() );
return 0;
- 명령 프롬프트 HELP 명령어 입력시 나오는 화면
명령 프롬프트에서 명령어 추가하기
- OS는 사람이 만들었다 CMD가 만들어진 이유는 하드웨어를 더 쉽게 사용하기 위해서다
- 이렇게 HELP를 입력했을때 나오는 부분에 내가 직접 명령어를 추가할 수 있다
- int CmdProcessing(void)
- 명령어를 입력 받아 해당 명령어에 지정된 기능을 수행함
- Exit가 입력되면 TRUE를 반환하고 프로그램을 종료함