javascriptmemoryleak.jpg

인터넷 익스플로러에서 발생하는 메모리 누수(Memory Leak)현상을 발견해주는 도구인 JavaScript Memory Leak Detector가 공개되었습니다. IE Developer Toolbar와 같이 하단에 들러 붙는 구조로 모양 또한 흡사합니다.(도구 > 도구 모음(T) > 탐색 창(E) > js memory leak detector) 메모리 누수가 발생한 지점을 찾아주고 순환 참조된 자바스크립트 코드를 알려줍니다.

메모리 릭의 발생 원인은 IE의 DOM을 관리하는 JScript 때문입니다. JScript는 MS가 자바스크립트를 본따 만든 자바스크립트 호환 언어입니다. 자바스크립트 객체가 DOM 객체에 대한 레퍼런스를 포함할 때, 순환구조가 형성되고, 자바스크립트 객체의 참조가 사라지면, 가비지 컬렉터(Garbage collector)에 의해 사용되고 있던 메모리 공간을 다시금 할당해야 합니다. JScript 메모리 관리자는 순환에 대해 잘 이해하지 못하기 때문에 순환이 발생할 때 메모리 교정이 일어나지 않게 되고, 교정되지 않은 메모리를 가리켜 누수(Leaked)되었다고 합니다. 일정 시간이 지나면, 메모리 자원부족으로 브라우저가 죽어버리는 치명적인 결과를 초래하게 되는 것이죠.

아.. 괜시리 화가 치밀어서 M$에 한마디 해야겠어요.

이따위 도구들 하나도 안반갑고요! 망할놈의 릭이 발생하는 원인이나 해결하란 말예요!

Comments

Sam씨와 코어 팀Prototype1.6.0.2업데이트판을 내 놓았습니다. 이번 업데이트는 28개의 버그들을 잡고, CSS 선택기의 성능을 향상시켰으며, Ajax 통신과 관련된 보안강화 내용을 담고 있습니다. CSS 선택기의 변동내용은 Element#up/#down/#next/#previous와 Event#findElement 메서드에 영향을 미치며, 사파리 3와 오페라 9.25 브라우저를 공식으로 지원합니다. 이 패치는 대부분의 1.6.0 사용자들에게 업데이트 할 것을 권장하고 있네요. 자세한 변동내용은 CHANGELOG를 참고하시기 바랍니다. 그리고 Prototype 1.5.1 사용자들에게도 이와 유사한 문제들을 해결한 1.5.1.2 업데이트를 동시에 제공하고 있습니다. 꽤나 심각한 문제들이었나봅니다.

Comments