프로그램을 실행시킨후에 ctrl+C를 누르면 종료와 동시에 무엇인가를 출력하도록 하고 있습니다.근데...출력도중에 세그멘트 에러가 나네요...
어디서 나는지 알아보려고 gdb돌리고 ctrl+C를 누르니 세그멘트 에러는 안나네요...아마도 시그널을 보내는 방법이 따로 있는듯 한데..
gdb에서 r 로 실행시킨후에 SIGINT시그널을 보내고 싶습니다..어떻게 할수 있을까요?
외부에서 시그널을 주기 위해선... 실행중인 프로그램의 pid를 확인 하시고... kill 명령을 사용하시면 됩니다.
근데... Ctrl+C를 이용 하셔도 될텐데... 이 시그널을 처리하는 부분의 포인터 부분을 다시 유심히 보세요.
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h> do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
정확히 원하는 순간에 signal을 주기 위해서는 gdb 명령 signal을 씁니다.
(gdb) signal SIGINT
또는
(gdb) signal 2
참고로 gdb는 내부에 signal handling table을 유지하고 있어서, 종류에 따라서 디버깅하고 있는 프로그램에 전달할지/아닐지, 출력할지/안할지를 결정합니다. 따라서 kill(1)로 signal을 전달하면, 이 내부 table에 따라 그 영향이 결정되고, gdb 내무 명령 signal을 쓰면, 이 table을 거치지 않습니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
참고로 자세한 것은 다음 info page에...
$ info gdb alter signal $ info gdb stop signal
감사합니다..신스크님.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
외부에서 시그널을 주기 위해선...실행중인 프로그램의 pid를 확인
외부에서 시그널을 주기 위해선...
실행중인 프로그램의 pid를 확인 하시고...
kill 명령을 사용하시면 됩니다.
근데... Ctrl+C를 이용 하셔도 될텐데...
이 시그널을 처리하는 부분의 포인터 부분을 다시 유심히 보세요.
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
정확히 원하는 순간에 signal을 주기 위해서는 gdb 명령 signa
정확히 원하는 순간에 signal을 주기 위해서는 gdb 명령 signal을 씁니다.
(gdb) signal SIGINT또는
(gdb) signal 2참고로 gdb는 내부에 signal handling table을 유지하고 있어서, 종류에 따라서 디버깅하고 있는 프로그램에 전달할지/아닐지, 출력할지/안할지를 결정합니다. 따라서 kill(1)로 signal을 전달하면, 이 내부 table에 따라 그 영향이 결정되고, gdb 내무 명령 signal을 쓰면, 이 table을 거치지 않습니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
참고로 자세한 것은 다음 info page에...[code:1]
참고로 자세한 것은 다음 info page에...
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
^^
감사합니다..신스크님.
댓글 달기