ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [시스템프로그래밍] 시스템 프로그래밍 프로젝트 디자인
    학점은행제/시스템프로그래밍 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를 반환하고 프로그램을 종료함

    댓글

Today
Designed by Danbee Park.