sigsegv 검색을 통해 유입된 내역이 하나 보여서 잠깐 설명.
Unix 계열(Linux든 BSD든 OS X든)에서는 시그널(signal)이란게 있다. 자세한 설명은 배재. 그냥 프로그램과 OS 및 Shell 등 타 프로그램 (그리고 유저입력?) 사이에 메시지 등을 전달하기 위한 메카니즘이라고 하면 되려나. (설마 DOS나 Windows계열도 있으려나?)
이 시그널 중에 대표적인게 SIGINT와 SIGSEGV가 있다. 이름이 SIG로 시작되는데 Signal의 약자로 보면 되겠다.
SIGINT는 (오래되서 기억이 잘 안나는데) 흔히 Ctrl-c를 누르면 발생되는데 프로그램 종료를 위해 많이 캐치하는 시그널이다. INT의 의미는 인터럽트(Interrupt)로 기억한다...
SIGSEGV는 친구들 사이에서 '똥싸고 죽는다'라고 부른다. 길게 Segmentation Violation 혹은 Segmentation Fault라 불리우는 이 시그널은 '비정상종료' 혹은 '메모리엑세스 오류' 혹은 '미친짓' 등등 -_- 으로 인해 OS에 의해 강제로 종료될 때 발생하고, Unix 계열에선 이 경우 메모리덤프 파일인 core를 남기고 죽는다고 해서 '똥싸고 죽는다' 라고 표현한다. (core를 이용해 디버깅을 할 수 있는 친절한 유닉스 ㅠㅠ) 윈도우 계열에서는 보기싫은 에러 다이얼로그가 뜨면서 죽기 때문에 역시 '똥싸고 죽는구나' 라고 표현이 가능할지도...
요즘처럼 GUI가 대세인 시대에는 거의 안쓰이는 거겠지만 뭐 기록으로라도 남겨놓자. 후후후...
ps. 블로그이름에 SIGSEGV를 쓴 이유는 '빌어먹을 내 머리'를 위한 비유다 -ㅁ-
Popular Posts
-
개인적으로 윈도우를 오랫동안 사용하다 맥을 처음 사용했을 때 용어나 각 앱의 이름이 뭔지 몰라서 막막했던 시절이 있었다. 그 때를 회상하며 약간 헷갈리거나 알 수 없는 용어들을 한번 정리해 볼까 한다.
-
iTerm2에서 tmux를 이용해 페인(pane)을 나누었을 경우 화면이 깨지는 케이스가 있다. 예를 들자면 아래 스크린샷 같은 경우이다.
-
준비 우선은 정보부터 수집. 도데체 부트캠프냐 뭔지 잘 이해가 되게 설명해 주는 곳이 잘 없다. 어쨌든 알아낸 바로는, 부트캠프는 일반적인 윈도우가 설치되는 PC의 BIOS를 에뮬레이션 해 주는 서비스 라는 것을 알게 되었다. 우선 ...
-
내 나이대도 이제는 젊다고 하기에는 힘든(?) 수준으로 치닫고 있다. 세월의 흐름이 너무 빨라서 아쉽고 벅차고 숨차기는 하지만, 이럴 때 일 수록 추억을 떠올려 보면 나름 재미있는 세월을 보냈구나 생각이 든다. 이참에 옛날 옛적에 쓰던 구식 컴퓨터...
-
UIView와 NSView는 다르다는 것을 또다시 체험해 보는 시간(-_-). 편의상 이젠 Objective-C 코드 예제는 생략하고 Swift 코드 예제만 남긴다. 어차피 메소드나 프로퍼티 명은 거의 동일하니... [참고] 이 글은 NSView ...
-
CPU의 놀고있는 논리회로를 괴롭힐 수 있는게 바로 논리 제어(Conditional Control)다. 이번에는 이 논리(Logical)와 관련된 부분을 살펴보자.
-
CAShapeLayer 는 Shape 를 그리기 위한 CALayer 기반 클래스이다. 다르게 말하면 다각형 혹은 폴리곤을 그리기 위한 용도라고 볼 수 있다.
-
기초적이지만 알아두면 나쁠 건 없는 스위프트(Swift)의 Collection Type (주로 Array) 활용 메소드 map, filter 그리고 reduce를 간단히 복습해보는 글. 추가로 zip에 관해서도 정리해 보자. 이미 애플의 스위프트 ...
-
Xcode에서 프로젝트를 생성하면 기본 타겟 하나와 Test타겟이 생성된다. 여기서 프로젝트 이름과 동일한 이름의 기본 타겟에는 Release와 Debug를 위한 세팅이 별도로 마련되어 있다. 대게 Xcode에서 앱을 실행시키면 디버그(Deb...
-
이번 글은 굉장히 유명한 수학 함수 3가지를 적어보는 글입니다. 그리고 오랜만에 구어체가 아닌 존대말(?)로 쓰는 글이기도 하겠네요. 이번에 언급하는 함수 세 가지, 즉 ceil(), floor(), round() 함수는 C 언어 시절부터 쓰이...
Tags
Blog Archive
-
▼
2011
(273)
-
▼
2월
(39)
- 커맨드키(애플키)의 존재의 정당성!??
- MacPorts 기본 사용법 정리
- [Vim] Vim 설정 파일(vimrc) 및 플러그인 공유
- [iOS/Three20] TTNavigator with UITabBarController
- [iOS/Three20] TTTableViewController 의 기본
- [iOS/Three20] JSON Parser: extThree20JSON
- [iOS/Three20] TTNavigator 기초
- [iOS/Three20] Add to Project
- [Vim] ucs-bom, BOM(Byte Order Mark)
- [Emacs] Emacs 설정 파일 재로딩: reload-dotemacs
- [Emacs] anything.el
- [Python] Regular Expression API (정규표현식 API 기본)
- [Python] Directory(Folder) / File 목록 다루기
- SimpleNote + SimpleNote App + MarkDown으로 글 쓰기
- [Python] Dictionary 기본
- [Django] Unit Test 기본 정보
- [Python] 가끔 저지른 실수들
- [Vim] 윈도우에서 UTF-8을 적용하면 한글메시지가 깨지더라
- [Vim] OS 별 Vim 설정을 분리하기(?)
- [Vim] CTags를 이용한 코드 탐색에 관하여
- [Vim] Auto Word-Completion에 관한 설정
- [Vim] Configuration to Edit Multiple Files
- [Util] screen 기본 사용법 메모
- [Django] Query 명령어 (일부만) 메모
- [Vim] Plugin: snipMate - TextMate-style snippets f...
- [Vim] Plugin: FuzzyFinder
- [Java] Python의 string.split()은 어떻게?
- [Android/Java] Run shell command
- 폭풍 업데이트!
- [Python] struct 와 padding 에 대한 잡설
- SIGSEGV 란 용어에 대해
- [Django] 500 Error Page
- Mail User Agent에서는 iframe를 배척하는 걸까 (잡설)
- [Python] Log Detailed Exception
- [Python] Send mail attached HTML via sendmail
- [Python] Auto-Machine(?) APIs
- [Python] Logging
- [Python] Unicode/UTF-8
- [Django] Multiple Unittest Files
-
▼
2월
(39)
돼서
답글삭제