[RPA] #7 UiPath 디버깅(Debugging) 하는 법
# 디버깅
# 한 단계씩 코드 실행
# 브레이크포인트 F9
<목차>** 디버깅(Debugging)? |
** 디버깅(Debugging)?
버그가 발생하는 것은
지극히 자연스러운 일이다.
오히려 디버깅 과정 없이 작동하는 코드를 의심해야 한다.
중요한 것은
버그를 잡아내고, 그것을 해결하는 것이다.
* 모든 코딩을 완료하고 디버깅을 시작한다면,
-> 전체 부분에서 오류를 확인하는 것은 어렵고, 매우 많은 시간이 소요될 수 있다.
-> 따라서 단계별로 코딩을 완료한 후 디버깅을 해가는 것이 바람직하다.
* 또한 오류 없이 정상적으로 실행될 때는 오히려 의심을 해보아야 한다.
-> 정상적인 상태의 항상성을 유지할 수 있는지를 끊임없이 의심하며, 내가 놓친 부분을 확인하고, 모두가 같은 결과를 얻을 수 있도록 하는 것이 핵심이다.
* 이처럼 디버깅 과정은 내가 작성한 코드의 신뢰성 문제에서도 매우 중요한 작업이다.
오늘은 UiPath에서 디버깅(Debugging)과 그 방법을 알아보려 한다.
1. 디버깅(Debugging)이란?
? 프로그램이나 소프트웨어에서 발생하는 오류를 찾아내고 수정하는 과정.
디버깅은 프로그램이 의도한 대로 작동하지 않거나, 예상치 못한 결과를 초래하는
버그를 찾아내고 수정하는 것을 목적으로 함
2. 디버깅 하는 법
1) Bug가 의심되는 위치, 또는 원하는 위치에 breakpoint 정하기
-> breakpoint는 F9 버튼을 눌러 설정한다.
-> 버그가 의심되는 위치를 파악하기 어렵다면, 우선 디버그를 실행하여 오류를 발견하도록 한다.
2) 디버그 버튼 클릭
-> 디자인탭의 파일 디버그 선택 또는 디버그탭에서 버튼 클릭
(파일 분석 버튼을 클릭해도 대상 파일에 대해 전체적으로 오류를 감지해 준다.)
3) 감지된 버그 확인
(1) 버그가 발견된 경우
* breakpoint를 걸어둔 경우
-> 미리 걸어둔 Breakpoint 부터 단계별로 버그의 유무를 따진다.
* breakpoint를 따로 걸지 않고, 디버그 실행한 경우
-> 실행 중 버그가 발견되어 정지한 액티비티를 확인하며 버그를 해결한다.
(2) 버그가 발견되지 않은 경우
-> F9를 한 번 더 눌러 breakpoint를 해제한다. '문제 없음'의 의미인 속이 빈 동그라미 표시로 바뀌는데,
-> 표시를 아예 지우고 싶다면 F9를 한 번 더 눌러준다.
4) 버그 해결
(1) 디버그 탭의 '한 단계씩 코드 실행'을 적절히 이용하여 단계별로 진행 상황을 확인한다.
(2) 이와 동시에 디버그 탭의 '로컬', '보기', '즉시'를 적극 활용한다.
- 액티비티 실행으로 실시간으로 변하는 변수의 값은 '로컬'에서 확인할 수 있다
- 특히 '즉시'부분에서 '>' 프롬프트 입력란에 현재 단계의 변수명을 입력하여, 변수가 담고 있는 값을 확인할 수 있다. 또한 변수에 여러 함수를 적용하며 결괏값을 미리 확인할 수 있다.
: 예컨대 Str_Temp 라는 변수에 대하여 Str_Temp.Split(":"c)(1).Split(" "c)(3).ToString 이라는 코드를 입력해야 한다면, '즉시' 패널을 통해 단계별로 코드를 더해가며 확인, 보다 쉽게 코딩을 할 수 있다.
3. 정리
1)
버그가 일어나는 것은 지극히 자연스러운 현상이다.
오히려 오류가 없을 시에는 끊임없이 의심하며, 수정할 부분이 있는 지를 살펴보아야 한다.
2)
작성한 전체 코드를 한번에 디버깅하는 것은 매우 어렵고 힘들 수 있다.
따라서 단계별로 코딩을 완료한 후 중간 점검 형식으로 디버깅을 하기를 추천
3)
'디버깅'패널의 '로컬', '즉시' 패널을 통해 현재 실행 단계의 변수에 대하여 미리 함수를 적용해볼 수 있다.
이를 통해 디자인 탭에서 매번 함수 실행 결과를 확인하기 위해 파일을 실행했던 것 대신,
실시간으로 확인이 가능하므로
파일 실행으로 인한 시간 절약이 가능하고, 또한 검증 과정이 더해지기 때문에 코드의 정확도를 높일 수 있다.