메모리를 맬록하고 프리할때 자꾸 죽어서 1시간 디깅했는데 결국 스택에다가 너무 크게(?) 600바이트의 배열을 잡은게 화근이었네요. 그걸 글로벌로 해버리니까 되네요... 어떤일이 정확히 어떤일이 일어났었을까요. :?:
600 byte면 아주 정상적인.. 평범한 크기입니다.
다른 이유가 있었겠지요.
---http://coolengineer.com
600이면 평범한 사이즈 맞구요.. 그보다는 배열을 잘못사용 한듯 싶습니다... 예를들어 할당된 사이즈보다 더 큰 데이터를 넣어서 배열이 오버플로우 되어 리턴 주소등을 변경하여 결국 프로세스가 죽는... 글로벌로 해서 일단은 죽지 않더라도 분명 오류는 살아있을 꺼라생각 합니다..
-- Linux강국 KOREAhttp://ydongyol.tistory.com/
텍스트 포맷에 대한 자세한 정보
<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]
600 byte면 아주 정상적인.. 평범한 크기입니다.다른 이유가
600 byte면 아주 정상적인.. 평범한 크기입니다.
다른 이유가 있었겠지요.
---
http://coolengineer.com
맞구요..
600이면 평범한 사이즈 맞구요..
그보다는 배열을 잘못사용 한듯 싶습니다...
예를들어 할당된 사이즈보다 더 큰 데이터를 넣어서 배열이 오버플로우 되어 리턴 주소등을 변경하여 결국 프로세스가 죽는...
글로벌로 해서 일단은 죽지 않더라도 분명 오류는 살아있을 꺼라생각 합니다..
--
Linux강국 KOREA
http://ydongyol.tistory.com/
댓글 달기