버그: 두 판 사이의 차이
편집 요약 없음 |
편집 요약 없음 |
||
7번째 줄: | 7번째 줄: | ||
모든 소프트웨어는 버그를 가지고 있다고 보면 된다. 소프트웨어의 라이선스 조건 중에는 항상 버그에 관한 면책조항이 있다. 예를 들어서 어떤 소프트웨어로 열심히 작업을 했는데 버그 때문에 소프트웨어가 다운되어서 작업한 내용을 날려먹었다고 헤서 소프트웨어를 만든 회사에 손해배상을 청구해 봐야 이길 수 잆다. 소프트웨어 라이선스에 버그에 대한 면책조항이 있기 때문. 따라서 자주자주 데이터를 저장하고 백업도 해 둬야 안전하다. 일부 소프트웨어는 아예 자동 저장 기능을 제공한다. 소프트웨어가 버그로 죽어버리면 다시 실행했을 때 이전에 작업했던 내용을 자동으로 띄워준다.<ref>이런 기능을 제공하는 소프트웨어라면 버그가 많아서 심심하면 죽는다는 뜻으로도 해석할 수 있다. [[MS 오피스]]라든가, 어도비 소프트웨어들이라든지...</ref> | 모든 소프트웨어는 버그를 가지고 있다고 보면 된다. 소프트웨어의 라이선스 조건 중에는 항상 버그에 관한 면책조항이 있다. 예를 들어서 어떤 소프트웨어로 열심히 작업을 했는데 버그 때문에 소프트웨어가 다운되어서 작업한 내용을 날려먹었다고 헤서 소프트웨어를 만든 회사에 손해배상을 청구해 봐야 이길 수 잆다. 소프트웨어 라이선스에 버그에 대한 면책조항이 있기 때문. 따라서 자주자주 데이터를 저장하고 백업도 해 둬야 안전하다. 일부 소프트웨어는 아예 자동 저장 기능을 제공한다. 소프트웨어가 버그로 죽어버리면 다시 실행했을 때 이전에 작업했던 내용을 자동으로 띄워준다.<ref>이런 기능을 제공하는 소프트웨어라면 버그가 많아서 심심하면 죽는다는 뜻으로도 해석할 수 있다. [[MS 오피스]]라든가, 어도비 소프트웨어들이라든지...</ref> | ||
버그를 찾아내서 고치는 것을 디버그(debug)라고 한다. 개발자들 사이에서는 코딩이 3이면 디버그가 7이라고 할 정도다. | 버그를 찾아내서 고치는 것을 디버그(debug)라고 한다. 개발자들 사이에서는 코딩이 3이면 디버그가 7이라고 할 정도다. 따라서 개발 도구에는 거의 필수로 디버깅 기능이 들어간다. 코드만 봐서는 버그가 있는지 여부나 버그의 원인이 뭔지 알아내기가 쉽지 않기 때문에 코드를 한 줄씩 실행시키거나 특정 코드까지 실행이 오면 중지하도록 하는 기능(브레이크포인트), 변수의 값을 추적하는 기능과 같은 다양한 기능을 포함한다. 대부분 컴파일러도 디버그 모드로 컴파일할 수 있다. | ||
{{각주}} | {{각주}} |
2022년 1월 7일 (금) 04:16 판
Bug.
Bug는 '벌레'라는 뜻을 가지고 있는데 한국에서는 벌레는 그냥 벌레라고 하고 소프트웨어의 오류는 '버그'라고 구별하지만 영어권에서는 둘을 구분해야 할 때에는 software bug(소프트웨어 버그)라고 한다.
컴퓨터 소프트웨어의 오류를 뜻한다. 다만 프로그램을 아예 실행시킬 수 없는 오류(error)와는 다른 것으로[1], 프로그램이 실행은 되지만 원래 생각했던 대로 작동하지 않고 잘못된 결과를 낸다면 프로그램에 버그가 숨어있는 것이다. 이 '잘못된 결과'라는 것은 무척 광범위해서 뭔가 결과값이 잘못 나오는 정도에서부터 프로그램이 멎어버리거나, 어예 컴퓨터가 멎어버려서 전원을 껐다 켜아 할 수도 있고, 그 소프트웨어로 작업했던 내용을 날려먹을 수도 있고 아예 그 컴퓨터에 있던 데이터를 날려먹을 수도 있다. 개인용 컴퓨터면 자신의 데이터를 잃는 수준이지만 여러 사용자가 공용으로 쓰는 서버라면 그 사용자들이 전부 접속을 못하거나, 웹 서버라면 웹사이트가 마비되거나, 이들의 데이터를 모조리 날려먹는 최악의 상황도 있을 수 있다.
모든 소프트웨어는 버그를 가지고 있다고 보면 된다. 소프트웨어의 라이선스 조건 중에는 항상 버그에 관한 면책조항이 있다. 예를 들어서 어떤 소프트웨어로 열심히 작업을 했는데 버그 때문에 소프트웨어가 다운되어서 작업한 내용을 날려먹었다고 헤서 소프트웨어를 만든 회사에 손해배상을 청구해 봐야 이길 수 잆다. 소프트웨어 라이선스에 버그에 대한 면책조항이 있기 때문. 따라서 자주자주 데이터를 저장하고 백업도 해 둬야 안전하다. 일부 소프트웨어는 아예 자동 저장 기능을 제공한다. 소프트웨어가 버그로 죽어버리면 다시 실행했을 때 이전에 작업했던 내용을 자동으로 띄워준다.[2]
버그를 찾아내서 고치는 것을 디버그(debug)라고 한다. 개발자들 사이에서는 코딩이 3이면 디버그가 7이라고 할 정도다. 따라서 개발 도구에는 거의 필수로 디버깅 기능이 들어간다. 코드만 봐서는 버그가 있는지 여부나 버그의 원인이 뭔지 알아내기가 쉽지 않기 때문에 코드를 한 줄씩 실행시키거나 특정 코드까지 실행이 오면 중지하도록 하는 기능(브레이크포인트), 변수의 값을 추적하는 기능과 같은 다양한 기능을 포함한다. 대부분 컴파일러도 디버그 모드로 컴파일할 수 있다.