NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 1. 매크로 제작할 때 디버깅을 이용해서 스크립트를 빠르게 만드는 방법. (엔지엠 에디터)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 오늘은 엔지엠 에디터 또는 디자이너나 프레임워크에서 디버깅을 어떻게 하는지 알아보도록 하겠습니다. 디버깅을 이해하기 쉽게 말하면~ 프로그램을 만들면서 오류가 없는지 확인하는 작업이라고 할 수 있습니다. 디버깅을 하는 방법은 다양한데요. 일반적으로 내가 만든 프로그램이 의도한대로 동작하는지 실행해보고 눈으로 확인하는겁니다.

    빠르게 스크립트를 제작할 수 있도록 도와주는 디버깅 기능에 대해 알아보기 ]

    LRGTZDL.jpg

     

     

    하지만, 수백개의 스크립트 액션 또는 수천줄의 코드를 실행 해놓고 눈으로 확인하는건 매우 비효율적인 방법입니다. 디버깅 도구가 없던 시절에는 어떤 데이타를 가져올 때 메세지박스를 이용해서 변수의 내용이나 수식 또는 함수의 반환 값을 확인했었습니다. 하지만, 현재의 개발 도구(IDE, Integrated Development Environment)들은 디버깅을 쉽게 하도록 도와주기 때문에 개발(Develop) 및 검증(Test) 시간을 비약적으로 줄여주었습니다. 엔지엠 매크로도 개발 도구이기 때문에 디버깅 도구가 기본적으로 포함되어 있습니다. 우선~ 에디터를 실행하고 간단한 스크립트를 하나 작성 해줍니다.

    EiGlipR.png

     

     

    이 스크립트는 윈도우 바탕화면의 [ 핸들 ]을 추가하고, 의미 없는 변수 3개를 추가 했습니다. 그리고, [ 이미지 매치 ]로 바탕화면에서 내PC 아이콘을 찾아서 클릭합니다. 이 스크립트를 실행하면 바탕화면의 좌측 상단에 있는 내PC 아이콘을 클릭해줍니다. 비활성으로 클릭이 발생한걸 확인할 수 있습니다. 비활성이란~ 실제 마우스가 이동하지 않고, 마우스 클릭 신호만 바탕화면에 보내서 클릭하도록 하는겁니다. 비활성으로 동작하는 매크로를 만들면 마우스와 키보드를 사용할 수 있기 때문에 다른 작업을 하면서 매크로를 돌릴 수 있습니다.

    DsWxNnc.gif

     

     

    엔지엠 매크로 에디터의 보기 메뉴에서 디버그를 모두 체크 해줍니다.

    TrmlMen.gif

     

     

    다시 실행 해보면 핸들 추가와 변수 그리고, 이미지 매치의 내용을 확인할 수 있습니다.

    pVZRpq7.gif

     

     

    이미지 매치가 실행되고, 마우스가 클릭된 위치를 확인할 수 있습니다.

    ziI4QGM.png

     

     

    어떤 이미지를 찾았는지도 확인할 수 있습니다. 내PC.ngi 이미지를 윈도우 화면(대상 이미지)에서 정상적으로 찾았다고(True) 알려줍니다.

    EUBcw3h.png

     

     

    하지만, 이렇게 모든 액션이 순식간에 지나가면 특정 구간에서 어떻게 동작하는지 확인하기가 쉽지 않습니다. 그래서, 한단계씩 실행하면서 내용을 확인해볼 필요가 있습니다. 엔지엠 에디터에는 3가지 디버깅 버튼이 존재합니다. 3개의 버튼은 각각 아래와 같은 기능을 담당합니다.

    1. 선택한 액션부터 스크립트가 실행됩니다.
    2. 스크립트를 선택한 액션까지 실행합니다.
    3. 스크립트를 한단계씩 실행합니다.

    2xQBQTA.png

     

     

    디버깅 관련 버튼의 단축키는 ①옵션의 ②옵션 설정에서 ③단축키를 변경할 수 있습니다. 단축키 변경은 중복되지 않게 잘 설정해야 합니다^^;

    ZlL2b4J.png

     

     

    한단계씩 실행의 단축키가 F5이므로 스크립트에서 F5를 계속 눌러보세요. 액션마다 변수 또는 데이타와 이미지를 확인할 수 있습니다.

    te1BDw5.gif

     

     

    변수는 내용을 직접 수정할 수 있습니다. 아래 그림과 같이 [ 메세지 박스 ] 액션을 추가하고, 변수 가져오기로 내용을 채워줍니다.

    3rzGF62.png

     

     

    변수에 어떤 내용도 없기 때문에 이대로 실행하면 메세지 박스는 표시되지 않습니다. 메세지 박스는 내용이 없으면 실행되지 않기 때문입니다.

    KLw8V6W.gif

     

     

    이제 한단계씩 실행하면서 A 변수에 내용을 변경 해봅시다. 그리고, 실행 버튼을 누르면 최종 결과를 확인할 수 있습니다. 변수에 내용을 입력했기 때문에 메세지 박스가 표시됩니다.

    g1E4RyN.gif

     

     

    변수가 배열인 경우 배열의 내용도 쉽게 확인할 수 있습니다. 배열 속성을 클릭하면 콤보박스에서 목록을 확인할 수 있습니다.

    cqLjWpe.gif

     

     

    스크립트 내용이 길다면 처음부터 하나씩 실행(F5) 하면서 원한는 위치의 액션을 확인하는데 오래 걸립니다. 그래서, 원하는 위치까지 액션을 수행하고, 멈춰서 하나씩 확인할수도 있습니다. 아래와 같이 C 변수를 선택하고, 선택한 위치까지 실행 버튼을 눌러보세요. 이렇게 하면 디버깅할 액션까지 실행되고, 한단계씩 실행하면서 내용을 확인할 수 있습니다.

    jsRzuBb.gif

     

     

    이렇게 엔지엠 에디터에서 디버깅을 통해 변수나 액션의 속성 값을 확인하고, 수정해서 실행 해볼 수 있습니다. 단순한 매크로라면 복잡하게 디버깅까지 필요하지는 않지만, 액션이 많고 구간을 테스트하는데 시간이 오래 걸리면 디버깅을 통해 어떻게 값이 들어오고, 이미지 조건이 어떻게 수행되었는지 확인하면서 수정해 나가야 합니다. 다음 시간에는 엔지엠 디자이너에서 디버깅 하는 방법에 대해 자세하게 알아보도록 하겠습니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.