-
[python] Visual Studio code로 phthon Debugging/ run python file 단축키 만들기하면서 이런이런것을 공부했다[연구노트]/Python, Ubuntu 2020. 3. 1. 11:00
이 동영상을 보고 공부한 내용을 간단하게 정리해 봅니다. (https://www.youtube.com/watch?v=w8QHoVam1-I&t=3s)
1. F5
F5를 눌러 디버깅을 시작할 수 있다.
이때 ctrl+F5를 누루면, start with debugging이므로, 디버깅을 하고 싶으면 F5를 눌러야 한다.
2. breaking point
다음과 같이 하나의 코드에 대해 breakpoint(line 옆에 빨간점)을 찍으면 왼쪽 하단에 breakpoints라고 정보들이 표시되는 것을 알수 있다.
3. 왼쪽 바 읽기
순서대로 알아보다면 다음과 같다.
variables :
내가 지금 위치하고 있는 함수 내부의 변수들을 확인할 수 있다.
watch :
내가 좀더 유심히 보고 싶은 변수를 직접 +버튼을 통해 추가하고, 그렇게 추가한 변수를 유심히 관찰할 때 용이하다.
call stack :
현재 function call stack에 대한 정보를 알 수 있다. 현재 어떤 함수 위에 있는지 확인할 수 있다. 맨 아래 있는 함수가 main 함수 이겠고, 맨 위에 있는 함수가 현재 내가 위치하고 있는 함수이다.
4. step 나아가기
continue : 다음 break point를 만날때까지 코드를 진행해 나간다.
step over : 한 Line씩 코드를 읽어 나간다. 외부 함수를 만나면 그 함수 내부로 들어가며 디버깅하지 않는다.
step into : 한 Line씩 코드를 읽어 나간다. 외부 함수를 만나면 그 함수 내부로 들어가며 디버깅을 한다.
restart : 전체 코드를 처음부터 다시 디버깅 한다.
5. print 대신 Log Message
디버깅을 할 때, 우리는 멍청하게 print를 해서 디버깅을 해왔다. 그러지말고 log message를 이용해 보자.
다음과 같이 메세지를 추가해 놓으면, pinrt와 똑같은 역활을 한다. 변수는 {}내부에 적으면 된다. 그리고 debug console을 확인하면 lob message가 남아있는 것을 확인할 수 있다.
위의 message를 " findtime = {findtime(N,K)} " 라고 쓰면 Debug console에 findtime =1 이라고 이쁘게 나온다.
주의사항!
1. print하고 싶은 변수는 그 line이전에 정의되어 있어야 한다. 그리고 이것은 break point가 아니기 때문에, F5로 멈추지 않는다.
2. log message를 치고 엔터를 누르고, breakpoint가 마름모 모양이 되어있어야한다.
6. Expression
이곳에는 if문에 적는 것을 그대로 적는다고 생각하면 된다. 이 문장이 true라면 그 때 break가 된다.
이 방법은 for문이 많이 도는 상황에서 사용하기에 매우 적절하다,
이 표현식이 True일 때만 저 점이 breakpoint로 작동한다.
7. Raised Exceptions
여기 있는 Raised Exceptions를 누르면 어떤 예외 상황이 발생할 때. 그 부분에 예외 정보를 보다 정확하게 그려 넣어준다.
내가 만약 try except문을 사용한다면, 이 방법을 이용하면 좋을 듯 하다.
run python file in terminal
1. ctrl + k + s
2. 찾기
3. 원하는 단축키로 설정하기 (ctrl shift b)
'하면서 이런이런것을 공부했다[연구노트] > Python, Ubuntu' 카테고리의 다른 글
'torch' has no member <method> error in VSCode, windows10 해결하기 (0) 2020.03.24 [파이썬 자료구조와 알고리즘] 교재 서평 및 내용 정리 (0) 2020.03.01 [ubuntu] ubuntu 기본 명령어/ Vim editor 사용하기 (0) 2020.02.28 [ubuntu] 몇번째 설치 중 인지 모르겠을 Ubuntu (0) 2020.02.24 2020.02 새로 안 사실 (0) 2020.02.20