[완료] signal handler 문제...
글쓴이: 서지훈 / 작성시간: 금, 2007/07/06 - 5:21오후
첨부된 code를 수행해서 1번 메뉴를 수행 하면 "Segmentation fault (core dumped)"
이거 당연히 발생합니다.
이걸 위해서 signal handler를 달아 준건데...
왜 signal handler를 못 타는 걸까요 ... ?
일단은 windows에서는 잘 됐었는데...
참고로... 이건 각 시스템에서의 heap, stack 영역을 대략 구하는 일을 하고 있습니다.
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
추신_sigaltstack()함수를 추가 하여 해결 했습니다. 좋은 정보에 감사합니다. ^^;
참고로 최종 수정된 파일을 첨부 합니다.
File attachments:
첨부 | 파일 크기 |
---|---|
check_memory_map.c.txt | 2.84 KB |
Forums:
stack overflow가
stack overflow가 발생해서 SIGSEGV 시그널 핸들러를 호출해야 할 때 필요한 스택은 과연 어디서 가져다 쓰면 될까요? :-)
sigaltstack() 함수로 특정 메모리 영역을 시그널 핸들러용 스택으로 지정해 줄 수 있습니다. sigaction()을 이용하여 핸들러를 지정할 때 sa_flags 필드에 SA_ONSTACK 플래그를 설정해 주면 그 핸들러는 별도로 지정한 스택을 이용하게 됩니다.
http://www.gnu.org/software/libc/manual/html_node/Signal-Stack.html 에서 좀 더 자세한 내용을 확인하실 수 있습니다.
----
$PWD `date`
$PWD `date`
댓글 달기