NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    기타 7. 완전 초보의 오토핫키 매크로 만들기. (디버깅)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 기초적인 내용은 아래 글들을 학습하면서 마스터했을겁니다. 이제 중급 난이도로 넘어가야 하는데요. 이 시점에 프로그래밍에서 가장 중요한 기능중에 하나인 디버깅에 대해서 설명하고 가야 할거 같습니다. 디버깅은 프로그램 또는 소프트웨어를 개발할 때 내가 의도한대로 동작하는지 또는 오동작하는지 확인하는 작업을 말합니다. 이외에도 문제 없이 잘 동작하던 프로그램도 어떤 환경에서는 문제가 될 수 있습니다. 범용적인 소프트웨어를 만들다보면 개발 시점의 컴 환경과 사용자 또는 고객의 컴 환경이 다를 수 있기 때문입니다.

    1부 - 오토핫키 개발 환경 만들기 ]

    2부 - 오토핫키 매크로 만들기 (마우스) ]

    3부 - 오토핫키 매크로 만들기 (키보드) ]

    4부 - 오토핫키 매크로 만들기 (GUI) ]

    5부 - 오토핫키 매크로 만들기 (반복과 조건) ]

    6부 - 오토핫키 매크로 만들기 (이미지 서치와 클릭) ]

     

    비주얼 스튜디오 코드(Visual Studio Code)를 실행하고, 이전 스크립트를 열어주세요. 전체 코드는 아래와 같습니다.

    #SingleInstance, Force
    SendMode Input
    SetWorkingDir, %A_ScriptDir%
    CoordMode, Pixel, Screen
    ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, C:\Users\ngmas\Desktop\내 PC.png
    CoordMode, Mouse, Screen
    MouseClick, left,  FoundX+20, FoundY+20
    return

     

    바탕화면에서 아래 이미지를 찾아서 클릭하는 예제입니다.

    l6Ocsqn.png

     

     

    아래 그림과 같이 디버그 탭을 클릭하세요.

    jgeDKEz.png

     

     

    5번째 라인을 클릭해서 중단점(Break Point)을 추가 해주세요.

    2pxA6hZ.png

     

     

    디버깅으로 시작하면 5번째 라인에서 스크립트가 멈춥니다. 그리고, 정보들을 확인할 수 있죠.

    Ql0EMoy.gif

     

     

    스크립트를 진행하려면 F10을 눌러서 한단계씩 진행하면서 값들을 체크할 수 있습니다. 이렇게 문제가 될만한 또는 문제가 되는 부분에 중단점을 걸어놓고, 실제 데이타를 확인하면서 무엇이 잘못되었는지를 찾아내야 합니다. 문제의 원인을 알아냈으면 수정하고, 다시 실행해보면서 정상 동작하는지 확인해야 합니다.

    RpOzIWK.gif

     

     

    이런 작업을 반복하면서 프로그램을 만들고, 완성하게됩니다. 엔지엠 에디터도 이와 비슷하게 디버깅할 수 있습니다. 한단계씩 실행의 단축키가 F5이므로 스크립트에서 F5를 계속 눌러보세요. 액션마다 변수 또는 데이타와 이미지를 확인할 수 있습니다. 오토핫키와 비슷합니다^^;

    te1BDw5.gif

     

     

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

    3rzGF62.png

     

     

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

    KLw8V6W.gif

     

     

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

    g1E4RyN.gif

     

     

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

    cqLjWpe.gif

     

     

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

    jsRzuBb.gif

     

     

    크게 어려운 내용은 없지만~ 디버깅을 어떻게 해야하는지 조차 모르면, 눈으로 하나 하나 체크해가면서 원인을 찾아야 합니다. 간단한 매크로 프로그램이라면 크게 문제될건 없지만, 수백줄 또는 수백개의 액션으로 이루어진 매크로라면 종이에 적어가면서 로직을 따라가고 분석해야 합니다. 이렇게해도 문제점을 파악하고 수정하는데 문제는 없습니다. 그러나, 개발 도구에서 제공해주는 디버깅 도구를 사용하면 몇배의 시간과 노력을 아낄 수 있을겁니다. 익숙해지면 아주 좋은 기능이니 디버깅은 꼭! 숙지하시기 바랍니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.