DUMA: Detect Unintended Memory Access
글쓴이: cinsk / 작성시간: 금, 2008/05/16 - 10:51오전
이 글은 (efence로 더 유명한) DUMA에 관한 글입니다. 그림 입력과 formatting 문제로 직접 올리지 않고 link만 올립니다. DUMA를 쓰는 법은 잘 알려져 있기 때문에 원리에 대해서 주로 다룬 글입니다. (아래 글에 대한 제안/비판/의견 등은 이 곳에 올려 주시면 고맙겠습니다.)
HELP!!
제가 원하는 것은 이 글을 HTML iframe tag를 써서 이 블로그에 올리는 것인데, 아래처럼 하면, firefox에서는 잘 되는데 iexplorer version 6에서는 scrollbar가 좀 이상하게 붙더군요. (정확하게는, width를 %로 주었을 때, 무조건 가로 스크롤바가 붙고 글의 width에 비해 항상 view의 width가 작게 나옵니다.) 폰트도 좀 그렇고...
<iframe src="..." width="100%" height="600"> </iframe>
제 서버랑, KLDP 서버 설정 변경없이 깔끔하게 firefox/iexplorer에서 볼 수 있는 방법을 아시면 제게 알려주시기 바랍니다. (아마 iframe 속성과 inline css를 조절하면 될 것 같기도 한데... 제가 HTML/CSS는 잘 모르기 때문에.. ^^)
댓글
궁금한 점, 그리고 메모리릭에 대한 디텍션은 어떻게?
깊이 있는 글에 감사드립니다. 좋은 글로 처음으로 DUMA를 알게 되었군요.
할당할 메모리 앞뒤로 특정한 값으로 초기화해줘서 더 잘 죽는 프로그램 환경을 만들어 준다는 아이디어가 인상적입니다.
그런데 할당이 일어날 때 그 앞뒤에 이미 할당된 메모리가 있는 지 어떤 원리로 검사할 수 있는지 궁금합니다.
할당된 메모리에 대해서 DUMA가 초기화 해버리진 않을 것이고 지난 할당에 대한 내용을 기억해두는 메모리가 있어
매번 메모리 할당 때 마다 검색하는 방법 밖에는 없을 거 같은데요.
다른 이야기입니다만, 메모리 릭에 대한 검출은 어떻게 하고 계시는지 노하우를 전수해주실 수 없으세요?
DUMA는 메모리 릭 감지에 대한 것과는 상관이 없는 라이브러리인거 같은데 그렇다고 볼 수 있겠지요?
감사합니다.
--최피디
KT하이텔, 앱스 개발자
앞뒤로 메모리가
앞뒤로 메모리가 있는지 검사하는 것이 아니고, 할당이 일어날때 좀 더 큰 분량을 할당해서 그 중 일부분만 사용자에게 돌려주는 것입니다.
DUMA도 (빌드할 때 따로 DUMA_NO_LEAKDETECTION를 설정하지 않는한) memory leak를 감지해 주기는 합니다만 따로 stack trace를 보여주지는 않습니다. Memory leak에 대한 자세한 것은 다음 기회에.. :)
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
이런.. ^^;
아 제가 엉뚱한 상상을 했군요 :)
메모리 릭에 관한 글 기대하겠습니다.
--최명진
KT하이텔, 앱스 개발자
잘은 모르겠습니다만...
블로그 구조가 어떻게 되어있는지 잘은 모르겠습니다만...^^;
frameborder="0" marginwidth="0" marginheight="0" 속성 추가해 보셨나요?
좋은
좋은 글이네요.
예전에 한번 관련 세미나를 들었는데,
Intel Software에서 개발하고 상용인 (Linux 버전도 있더군요)Vtuneswww.intel.com/cd/software/products/apac/kor/vtune/vpa/index.htm도 있습니다.
뭐 그 때 한국 Intel 영업 쪽에 계신분이 하신 세미나였는데, 받은 느낌은 역시 제조사에서 만든
Software는 정말 디테일하다는 점이었습니다.
하지만, 비싼 돈주고 사 쓸수 없으니, 이 포스트 역시 굉장히 감사하게 느껴지네요.
아..이거 임베디드쪽
아..이거 임베디드쪽 선배들이 직접 만들어쓰던 방식이네요.
더 잘 만들어진 것이 라이브러리로 있다니 반갑습니다.
사실 임베디드쪽에서는 거의 모든 메모리 릭 감시 라이브러리가 동작하기 힘듭니다.
그래서 DUMA와 비슷한 원리로 몇개 직접 만들어쓰는 것들이 있습니다.
아직 다 읽어보지는 않았지만 임베디드나 소형 시스템에서도 쓸 수 있을것 같습니다.
----
세상을 바꾸는 것은 단 한 사람. 오직 하나님의 사람뿐이다.
개인 홈페이지가 생겼습니다 http://caoskernel.org
어셈러브를 개편중입니다 http://www.asmlove.co.kr
efence가 DUMA가
efence가 DUMA가 되었군요. 좋은 글 감사합니다.
Be Creative For Fun!!
Be Creative For Fun!!
좋은 글 잘
좋은 글 잘 보고갑니다. :-)
http://www.exman.pe.kr
감사합니다. 메모리 디버깅에 많은 도움이 되겠네요.
efence 가 업데이트 되지 않더니, DUMA가 됐네요. 참으로 좋은 정보입니다.
정리잘 해놓으셨네요. 잘 읽었습니다. 감사합니다.
사랑과 평화 넘치는 행복한 세상을 꿈꾸며
사랑과 평화 넘치는 행복한 세상을 꿈꾸며
댓글 달기