컴파일후 실행파일이 실행이 되지 않습니다.

hohuha의 이미지

어렵게 어렵게 간신히 컴파일이 성공했습니다.
이제 실행파일을 실행시키려고 합니다.
그런데 ..실행권한도 제대로 주었는데... 실행이 되질않습니다..

다른 프로그램들은 다 되는데..특정파일 한개만 실행이 되질 않습니다.

무엇을 봐야 할까요? ㅠ.ㅠ..
질문이 어설퍼서 죄송합니다...만...

작은 답변이라도 부탁드립니다...ㅠ.ㅠ.

익명 사용자의 이미지

어떻게 대처할지 답안이 나오겠죠?

hohuha의 이미지

컴파일 오류도 없고.. 실행시 오류메시지도 전혀 없기 때문에 알수가 없습니다...
무엇을 봐야 할까요..?ㅠㅠ..

hwatk의 이미지

gdb [실행파일]
...
(gdb) r (r = 실행)
해서 뭐가 나오는지 한번 보세요.

정상적으로 실행/종료되었다면 끝에 다음과 같은 메시지가 나와야 합니다.

Program exited normally.

hohuha의 이미지

gdb: not found.

이런메시지가 출력됩니다.. ㅠ.ㅠ..

jick의 이미지

(1) 패키지 관리자를 열어서 gdb를 설치하세요.

(2) 아무 에러 메시지도 안 나온다는 게 "에러 메시지"도 안 나온다는 건가요? 실행파일이 없으면 최소한 gdb처럼 not found라는 메시지라도 나올 텐데요.
(실행파일명) ; echo $?라고 쳐보시고 뭔가 숫자가 나오면 프로그램이 실행이 된 것입니다. 다만 화면에 아무것도 출력 안하고 그냥 종료된 거죠.

snowall의 이미지

1. 환경, 운영체제 - 리눅스? 맥OS? 윈도우즈?

2. 언어 - C? C++? Python? Java????

3. 컴파일 옵션?

이런것 정도는 얘기를 해주셔야 의미있는 답이 나올겁니다.

"컴파일했는데 실행이 안돼요"라고 물어보시면 누구한테 물어봐도 대답은 "그러게요..." 밖에 안나와요.

피할 수 있을때 즐겨라! http://melotopia.net/b

hohuha의 이미지

제가 이쪽을 워낙 몰라서 어떤식으로 질문을 드려야 할지 몰랐습니다.
그래서 저렇게 막연하게 질문을 할수 밖에 없었구요...

일단 운영체제는 UNIX이고..언어는 C(pro c)입니다.
컴파일러는 cc이고..

컴파일 옵션이라 하믄 어떤건지 잘은 모르겠지만..
make 파일에

cc -c -w -X -I/src/inc aa.c
cc -o aa aa.o

머 이런식으로 되어있습니다.

다른 여러 파일들과 똑같은 make파일로 컴파일했고..
다른 파일들은 모두 실행이 됩니다.

ps -ef | grep ~~이렇게 해서 검색을 해보면..

다른 파일들은 프로세스 상에 모두 떠있는데 저 aa라는 녀석만 안떠 있습니다..ㅠ.ㅠ..
부족한 설명에도 답해주셔서 감사합니다..

너무 몰라서 어떤식으로 설명을 해야할지도 막막했던것 같습니다..
보시고 조언 부탁드립니다...(ㅜㅜ)

snowall의 이미지

jick님 말씀대로 프로그램이 실행되고, 모든 일을 끝낸 후 종료된 것일 수 있습니다.

main()에서 return 부분 바로 앞에 실행을 멈추는 코드나, printf처럼 뭔가를 출력시키는 부분을 넣고 실행시켜보세요.

피할 수 있을때 즐겨라! http://melotopia.net/b

ihavnoth의 이미지

$ mkdir test
$ cd test
$ ls
$ echo $?
0

===> ls라는 명령어를 수행하고 나서 리턴값을 확인해보면 0이 나옵니다.
===> 보통 아무런 메세지가 없으면 에러가 없는거고
===> 리턴 0은 정상적으로 종료됐다는걸 표시해줍니다.

$ ls none_directory
ls: none_directory에 접근할 수 없습니다.: 그런 파일이나 디렉터리가 없습니다
$ echo $?
2

===> 존재하지 않는 디렉토리에 대해서 ls명령어를 수행하면
===> 에러 메세지를 출력해주고 리턴값은 2입니다.
===> /usr/include/asm-generic/errno-base.h에 보시면 2는 No such file or directory를 나타냅니다.
(일반론이고 사실 리턴값은 프로그래머 마음입니다.)

$ ps -ef | grep ls
ihavnoth 7445 7415 0 01:41 pts/6 00:00:00 grep --color=auto ls

===> ps 유틸은 $ man ps에 나온대로
===> ps - report a snapshot of the current processes.
===> 현재 프로세스의 스냅샷을 보여줍니다.
===> 이미 종료된 프로세스가 아니라 현재의 프로세스입니다.
===> aa라는 프로그램을 실행한 후 종료된 상태라면 ps에서 나타나지 않습니다.

실행하는 순간을 잡고 싶으시면 터미널을 하나 더 여셔서 ps를 무한 루프 돌려놓고 다른 터미널에서 XXXX 프로그램을 실행하면 확인할 수 있습니다.
$ while(true); do ps -ef | grep XXXX | grep -v grep; done

없음

lmk378의 이미지

x86계열에서는 한번도 경험해보지 못했지만
ARM 계열에서는 가끔씩 동일한 현상이 있었어여^^;;
컴파일시 다음옵션 추가해 보세여~
CFLAGS=--static LDFLAGS=--static

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.