이 에러메세지는 어떤 경우에 나는건가요..?

sadrove의 이미지

하루종일 질문만 올리네요...

Segmentation fault (core dumped)

ANSI C로 프로그래밍 중이고..
위와 같은 에러메세지가 나오는데요..
컴파일은 이상없는데..
파일을 실행시키면 위와 같이 나옵니다..
어디가 잘못된 건지..
위 에러 메세지는 어떤 경우에 나오는 에러인가요..
부탁드립니다.^^

eminency의 이미지

대표적으로... 버퍼 오버 플로우나 포인터 처리가 잘못 되었을 경우에 일어납니다. 프로그램이 복잡하다면 무척 잡기 힘든 버그이면서도 프로그래머들이 가장 피해야 할 버그...-_- 에러라고 해야되나..?

일어날 수 있는 경우가 많으므로 그냥 윗 글만 갖고는 알 수 없습니다.
gdb를 쓰시든지 printf로 디버깅 하시는 수밖엔...-_-

노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5

김충길의 이미지

현재 디렉토리에 코어 파일이 생겼다면 아래와 같이 명령을 실행해서
문제 발생 범위를 줄여가 보세요.

$ gdb program_name core_file

gdb> back

라인 정보까지 나오지 않는다면 프로그램을 -g 옵션을 주고 다시
컴파일 하시기 바랍니다.

일단 범위가 좀혀 지면 코드 째려보기의 방법으로 버그를 찾기 바랍니다.
(물론 다른 편한 방법이 있다면 그걸 사용하세요)

screen + vim + ctags 좋아요~

lsj0713의 이미지

대부분 메모리 할당 및 잘못된 메모리 공간 참조와 관련된 에러이므로, 우선적으로 malloc와 free, 포인터를 사용한 부분을 살펴보시길 권합니다.

디버깅에는 특별한 수가 없습니다. 확실히 문제가 없는 부분을 조금씩 넓혀 가면서 찾는 수밖에는...

essp77의 이미지

세그멘테이션 폴트 에러.....
제품완성의 마지막 단계에 나오는 버그일 확률이 높습니다. 몬지도 모르면서 이건가? 저건가? 하고 딥따 궁굼하게 생각하는 것중 하나였는데요. 아주 기본적인 거 라고 생각하시면 댑니다. 씨피유는 메모리의 코드를 읽어서 실행하고, 메모리내의 공간을 잡아서 데이터를 저장하고, 그런데 이 와중에 메모리와 씨피유간에 잘못된(몬지모르지만 ㅋㅋ) 작업이 발생하면 나오는 거더군요. 몬지는 잘 찾아봐야지요. 굉장히 어려운 에러같고, 너무 뭉뚱그려서 얘기한거 같지만, 오히려 곰곰히 생각하시면 금방 답이 나오는 경우가 이경우 입니다. 해보신분은 아마도 저와 같은 생각을 하실거 같습니다. 그게 아니라 다른거라고 생각되시면 다시 첨부터 살펴보시길...... 회로도, 피씨비,자재,조립,전원(파워),옵션, 드라이버, 로우레벨 소프트웨어, 하이레벨소프트웨어,테스트방법 ..... 첨부터 하나씩 잘 살펴보고, 의심가는 부분을 검증해나가면 버그는 잡히게 됩니다. 너무 사설을 늘어논것 같군요. ... 수고하세요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.