달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

최근에 블로그에 일부 글을 올리긴 했는데 이클립스 디버깅 기능을 한번 정리해보고 싶었습니다. 

근데 보니 외국에 어느 컨설턴트 분이 자세히 잘 정리해두신게 있네요. 

숟가락만 올리려고 간단히 번역했습니다. 

http://ldg.pe.kr/Wiki.jsp?page=EclipseDebug

참고로 원문은 http://www.vogella.com/articles/EclipseDebugging/article.html 입니다. 


와치포인트나 Debug뷰의 여러가지 옵션들은 모르고 있었네요. 




Posted by fromm0
|

1) 톰캣 서버 디버그 모드로 시작

이클립스를 사용해서 디버그 기능을 사용하기 위해서는 애플리케이션을 디버그 모드로 실행해야 한다. 웹 애플리케이션은 톰캣과 같은 WAS를 디버그 모드로 시작하면 된다. 톰캣을 디버그 모드로 시작하기 위해 아래 그림처럼 마우스 우측 버튼을 클릭 후 나오는 메뉴에서 Debug를 선택한다. 


2) Breakpoint 지정

디버그 모드를 사용하면 애플리케이션이 실행중인 가운데 애플리케이션의 코드마다 할당되는 실제 값들을 확인할 수 있다는 큰 기능이 제공된다. 코드마다 할당된 값을 확인하고자 할때는 Breakpoint 를 지정해야 해당 지점에서 애플리케이션이 대기한다. 이클립스에서 아래그림처럼 소스코드옆의 라인번호 좌측에 마우스를 올려보자. 

마우스를 올린 후 더블클릭을 하면 아래 그림처럼 파란색 점같은 표기가 되는 것을 알 수 있다. 이 파란색 점이 Breakpoint 를 나타낸다. 


3) 애플리케이션을 실행

Breakpoint 를 지정하고 해당 소스코드의 라인을 지나도록 애플리케이션을 실행해보자. 그러면 아래그림처럼 파란색 점 옆에 파란색 화살표가 가리키는 것을 보게된다. 이것은 현재 애플리케이션이 실행중에 해당 소스코드 라인부분을 처리하는 중이라는 것을 나타낸다.

한번 Breakpoint에 머문뒤에는 Breakpoint 가 지정된 라인 앞의 코드에서 각각의 변수에 할당된 값을 확인할 수가 있다. 그러기 위해서는 아래 그림처럼 특정 변수를 더블클릭해서 범위를 정하고 마우스를 사용해서 메뉴를 열어보자. 메뉴에는 Watch, Inspect, Display 등의 디버그와 관련된 3가지 메뉴가 나온다. 


4) Watch메뉴의 Expressions 뷰

Expressions뷰에서는 Watch 메뉴를 통해 지속적으로 값을 확인하려는 변수 목록이 나온다. 원시타입인 경우 값을 바로 확인할수도 있고 객체 타입의 경우에는 객체를 구성하는 세부속성을 확인할 수 도 있다. 

그리고 뷰 하단의 "Add new expression" 을 사용하면 소스코드에는 없지만 표현식을 통해 다른 값들도 확인이 가능하다. 


5) Inspect메뉴 창

Inspect 메뉴를 사용하면 Expressions뷰를 사용하지 않고 바로 아래와 같은 창이 떠서 세부적인 정보를 보여준다. 



6) Display메뉴 창

Display메뉴를 사용하면 아래와 같은 창을 통해 세부적인 정보를 확인할 수 도 있다. 















Posted by fromm0
|

기존에 호스팅 받던 kldp.net 이 더이상 호스팅을 제공하지 않기 때문에 제 블로그에 파일로 다시 공유합니다. 

파일은 2006년11월30일자 버전입니다. 


iBATIS-SqlMaps-2_ko.pdf


Posted by fromm0
|
그 동안 잘 사용하던 m2eclipse..
갑자기 이상한 에러를 수업이 뿌려댄다. 

2012-02-23 17:06:06 [WARN ](AnnotationAttributesReadingVisitor :91 ) Failed to classload type while reading annotation metadata. This is a non-fatal error, but certain annotation metadata may be unavailable.

java.lang.ClassNotFoundException: org.junit.Before
.. 중략


org.eclipse.wst.common.component 파일을 열어본다. 
이 파일은 해당 프로젝트의 .setting 디렉터리안에 있다. 

1. 이전 파일 내용

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="xxx">
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources-local"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/acceptance-test/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/acceptance-test/resources"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
        <property name="java-output-path"/>
        <property name="context-root" value=""/>
    </wb-module>
</project-modules>


2. 수정한 파일내용

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="xxx">
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources-local"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
        <property name="java-output-path"/>
        <property name="context-root" value=""/>
    </wb-module>
</project-modules>


이 설정으로 인해 테스트 코드가 실제 webapps에 지정된 곳에 함께 배포되어 발생한 에러로 추측된다. 
위처럼 테스트 관련 코드를 설정에서 제거하자 정상으로 돌아왔다. 
Posted by fromm0
|

이전에 SpringSource TC Server 를 살펴보면서 간단히 만들었던 소개  문서를 공유합니다. 
 


많은 내용이 들어있지는 않습니다. ^^

Posted by fromm0
|


eclipse 의 maven 플러그인을 업그레이드하거나 STS 를 업그레이드하면 m2e 플러그인이 1.0을 사용하게 된다.
이 경우 기존 환경과 다른 부분이 많아 오류가 발생하는 부분이 있다.
위처럼 프로젝트별로 maven builder 오류가 발생하면 해당 프로젝트의 .project 파일을 직접 수정하도록 한다.

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>news-telematics-service</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
... 중략
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
... 중략
    </buildSpec>
    <natures>
... 중략
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
... 중략
    </natures>
</projectDescription>


Posted by fromm0
|
SpringJDBC를 사용할때, PreparedStatement 의 파라미터를 로그에 찍기 위해서는 로그레벨을 TRACE로 해야 한다.

<logger name="org.springframework.jdbc.core" additivity="false">
    <level value="TRACE" />
    <appender-ref ref="console" />
</logger>

Posted by fromm0
|
웹사이트에 업로드 요청했는데, 휴가 갔다 왔나봅니다.
오늘에서야 답변이..~~~
다음주 쯤에나 업로드 되려나..


http://groups.google.com/group/mybatis-user/browse_thread/thread/b084c532c18f7f89/07c699f9ce7d618e?lnk=gst&q=korean#07c699f9ce7d618e


Posted by fromm0
|
MyBatis 3.0 의 사용자 가이드 한국어 문서를 공개합니다.
ㅋㅋ.. 거창하네요..

MyBatis-3-User-Guide_ko.pdf
다시 보면, 조금 수정할게 있긴 하지만 내용 파악에 어려움은 없어보입니다.
오타및 오역, 개선은 댓글로 남겨주세요. ^^

마이바티스 홈페이지에 웹페이지 형태로도 보실수 있습니다. 아래 URL참고


Posted by fromm0
|
1. web.xml 설정
<error-page>
    <error-code>404</error-code>
    <location>/html/error/notFound.html</location>
</error-page>    
<error-page>
    <error-code>500</error-code>
    <location>/error/system.mvc</location>
</error-page>

여기서 404에 해당되는 notFound.html 파일은 정적인 단순 html 파일입니다.
하지만 500에 해당되는 system.mvc 를 SpringMVC 를 사용하는 동적 페이지입니다.

2. servlet.xml 설정
<mvc:view-controller path="/error/system.mvc" view-name="/error/temporarySystemError"/>

/error/system.mvc 에 대해 view-name 은 /error/temporarySystemError 로 정했습니다.

3. decorators.xml 설정
<decorator name="error" page="pageDecorator_error.jsp">
    <pattern>/error/system.mvc</pattern>
</decorator>

/error/system.mvc 로 요청이 오면 pageDecorator_error.jsp 페이지의 데코레이터가 먹도록 설정을 했습니다.

4. pageDecorator_error.jsp 파일
... 중략

<body>

    <page:applyDecorator name="header"/>
    <decorator:body/>

</body>
</html>

page 태그의 applyDecorator 가 먹을 줄 알았는데, 이상하게 먹지 않더군요.
근데 특이한 건 에러 페이지가 아닌 직접 /error/system.mvc 형태로 접속하면 정상적으로 데이터레이터가 먹는 것이었습니다.

5. temporarySystemError.jsp 파일
<div>
어쩌고 저쩌고
<div>


해결방법은 decorators.xml 파일의 url-pattern 을 사용하지 않고 결과 jsp에 decorator 를 직접 적용하는 것이었습니다. 즉 결과 페이지인 temporarySystemError.jsp 파일을 아래처럼 수정한 것이죠.

... 중략

<body>

    <page:applyDecorator name="header"/>
    <div>
    어쩌고 저쩌고
    <div>

</body>
</html>


http://www.java2go.net/blog/205?TSSESSION=1f8421104a0d5b693e30aaea745da9d6 이 글이 도움이 많이 되었습니다.








Posted by fromm0
|