이클립스에 Java Decomplier 설정하는건 간단하다.
지금 나 같으면 Helios 버전을 사용하고 있는데 이때는 플러그인만 설치하면 된다.

http://java.decompiler.free.fr/jd-eclipse/update/

여기에 가서 JD-Eclipse 부분을 참고하면 된다.

간단히는
Help/Install New Software
에 가서
'Add' 버튼을 누른후
JD-Eclipse
http://java.decompiler.free.fr/jd-eclipse/update/

를 넣고 설치하면 된다.

그런데....
연결이 안 되는것이다.
제대로 됐으면 소스에서 클래스를 클릭하면 decomplier되어서 원소스가 나와야 하는데
플러그인 설치전하고 동일하게 나오는것이다.

이럴때 해결 방법.
사용자 삽입 이미지
위와 같이 찾아가서
*.class 를 선택하고 위에처럼 Class File Editor 를 선택하고 'default'버튼을 눌러서 default로 설정해준다.
처음에는 Class File Viewer로 되어 있더라고.

크리에이티브 커먼즈 라이센스
Creative Commons License
2011/03/10 23:00 2011/03/10 23:00

Trackback URL : http://simplelife.pe.kr/tc/trackback/692

Leave a comment

eclipse. Java heap space 오류

Posted 2010/04/18 13:17, Filed under: 나의 길/에러 극복하기
사용자 삽입 이미지

요즘은 이클립스를 가지고 작업을 한다.
물론 아는바는 없지.. ^^

컴파일을 하다보면 저런 에러를 만난다.
Java heap space 에러나 java.lang.OutOfMemoryError 에러.
전에는 그냥 그런가보다 했지만 너무 자주나서 찾아봤더니 간단한 해결책이 있더군

eclipse 실행폴더에 보면 eclipse.ini 파일이 있다
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.java.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx256m

위에서 Xms 는 최소 Xmx는 최대 메모리 설정값이다
저값을 크게 늘려준다.
내 노트북 메모리가 4기가인데 많이 놓고 있었던 상태군.

검색에 의하면 종종 PermGen 값에도 영향이 있다고 하니 설정을 했는데도 오류가 발생할 경우에는
XXMaxPermSize 값을 수정해준다.

그리고.
위의 값을 고쳤을시에

사용자 삽입 이미지
위와 같이 오류가 발생할 수 있다.
JVM terminated. Exit code=-1


이럴 경우에는
vm 으로
javaw.exe 를 지정해준다.
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.java.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vm C:\Program Files (x86)\Java\jdk1.6.0_18\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx1024m

최종적으로는 위와 같이 고쳤다.

Xmx를 1536으로 했더니 오류가 난다.
1024로 설정해본다.


크리에이티브 커먼즈 라이센스
Creative Commons License
2010/04/18 13:17 2010/04/18 13:17

Trackback URL : http://simplelife.pe.kr/tc/trackback/642

Leave a comment

이건 이전에 있었던
64비트에서의 malloc 이나 쓰레드에서의 stack 크기와는 다른 문제이다.

리눅스에서 부하테스트나 기타등등 테스트를 다 거친 게이트웨이가
AIX에서 테스트하니 세션을 30개정도 넘어가면 리소스가 부족하다고 쓰레드를 생성하지 못한다
여러가지 조합을 통해서 또 실행시키면
malloc 에서 메모리를 할당못하는 경우가 있다.

서버에서 무슨 이런 경우가 있는걸까.
윈도우즈 서버에서도 없는 일이 말이다.

여러가지 찾아본 결과 AIX에서는 기본적으로 사용할수 있는 메모리의 한계가 있다
그 한계를 컴파일할때 옵션으로 재설정해주어야 한다

-bmaxdata, -bmaxstack

이 옵션을 사용해준다
C 쪽 컴파일은 -bmaxdata 만 사용하는것 같지만 그냥 같이 써준다

-bmaxdata

Category

Pragma equivalent

None

Purpose

Sets the maximum size of the area shared by the static data (both initialized and uninitialized) and the heap.

Syntax

Read syntax diagramSkip visual syntax diagram>>- -bmaxdata--:----number-------------------------------------><
 

Defaults

-bmaxdata:0

Parameters

number
The number of bytes used representing the soft ulimit set by the system loader. Valid values are 0 and multiples of 0x10000000 (0x10000000, 0x20000000, 0x30000000, ...). The maximum value allowed by the system is 0x80000000. If the value is 0, a single 256MB (0x10000000 byte) data segment (segment 2) will be shared by the static data, the heap, and the stack. If the value is non-zero, a data area of the specified size (starting in segment 3) will be shared by the static data and the heap, while a separate 256 MB data segment (segment 2) will be used by the stack. So, the total data size when 0 is specified 0 is 256MB, and the total size when 0x10000000 is specified is 512MB, with 256MB for the stack and 256MB for static data and the heap.

Predefined macros

None.


기본적으로 256 메가 같지만
나에게 할당된건 한참 그 이하인듯 싶다.
우선은 1기가까지 할당할수 있도록 설정해서 했더니 게이트웨이 세션 최대생성값인 400개까지 이상없이 잘된다
이것때문에 얼마나 한참을 소스를 들여다 봤던지...
앞으로는 malloc 체크를 최대한 해볼련다.


참고링크
General Programming Concepts:Writing and Debugging Programs
크리에이티브 커먼즈 라이센스
Creative Commons License
2009/05/07 09:51 2009/05/07 09:51

Trackback URL : http://simplelife.pe.kr/tc/trackback/629

Leave a comment

ASP.NET 설치 방황기..

Posted 2009/01/22 16:44, Filed under: 나의 길/에러 극복하기
부산은행 모듈 테스트 때문에 내 PC에 ASP.NET 을 설치하는데
aspx 페이지만 부르면 500 에러를 내는거다.

1.1 에서 그러길래
2.0으로 바꾸니까 이러한 종류의 에러를 낸다.

서버 응용 프로그램을 사용할 수 없습니다.
이 웹 서버에서 액세스하려는 웹 응용 프로그램을 현재 사용할 수 없습니다. 웹 브라우저의 [새로 고침] 단추를 눌러 다시 요청하십시오.

관리자 참고 사항: 특정 요청 오류의 원인을 자세하게 설명하는 오류 메시지가 웹 서버의 응용 프로그램 이벤트 로그에 있습니다. 오류가 발생한 원인을 알아내려면 이 로그 엔트리를 검토하십시오.


그래서 이벤트 로그에 가봤지..

AppDomain을 초기화하지 못했습니다./LM/W3SVC/1/ROOT
Exception: System.Configuration.ConfigurationErrorsException
Message: 'System.Configuration.ConfigurationErrorsException' 형식의 예외가 Throw되었습니다.
StackTrace:    위치: System.Web.Configuration.ErrorRuntimeConfig.ErrorConfigRecord.System.Configuration.Internal.IInternalConfigRecord.GetLkgSection(String configKey)
거기에서는 이러이러한 메세지를 남기고 있더군.. 자.. 언제나처럼 해결책을 찾아보자..

간단하다.
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i

를 해줘서 ASP.NET 2.0 을 설치해주면 된다.

깔끔하게 해결됐다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2009/01/22 16:44 2009/01/22 16:44

Trackback URL : http://simplelife.pe.kr/tc/trackback/623

Leave a comment

int read_file2buf(char *filename, char *buf)
{
        FILE    *fp;
        int     i;
        char c;
        if(( fp = fopen(filename, "r"))==NULL) {
                ERROR("file(%s) open error!\n", filename);
                return(-1);
        }
        i = 0;
        while( (c = fgetc(fp)) != EOF ) {
                buf[i++] = c;
        }
        fclose(fp);
  
        buf[i] = '\0';
        return(i);
}


위의 소스는 뭐가 잘못됐을까.
그냥 보기에는 무난해 보인다

허나..
while( (c = fgetc(fp)) != EOF )
보기에는 이상한게 없어보이지만
AIX 에서는 EOF 비교를 못해서 buf 끝까지 가버린다.

EOF를 찍어보면 -1 이 나온다.
그런데 그때 c 를 찍으면 255가 나온다.

눈치챘는가..
AIX 컴파일러는 char가 default 값으로 unsinged char 인것으로 보인다.
fgetc를 통해서 -1 이 나왔지만
c 가 unsigned 형이니 -1 의 unsinged 값인 255가 나오는것이다.

해결할려면
char c 를 int c로 바꿔준다.

오늘도 한건 배운다



크리에이티브 커먼즈 라이센스
Creative Commons License
2008/12/19 12:41 2008/12/19 12:41

Trackback URL : http://simplelife.pe.kr/tc/trackback/621

  1. # 박진영 2009/03/25 08:54 Delete Reply

    나랑 똑같은 문제를 풀었었군 ㅎㅎㅎ

    1. Re: # 서툰걸음 2009/04/09 17:30 Delete

      그런건 미리미리 공유해야징~

  2. # 우중산보 2009/04/10 18:12 Delete Reply

    두 사람 댓글 대화가 왤케 서글프냐... 흑흑흑

    1. Re: # 서툰걸음 2009/04/17 11:11 Delete

      자네도 동참하게.. ㅋㅋ

Leave a comment


뚜는 지금.. 사랑해사랑해
과연 깜작이는..
남자B형염소자리서울

Categories

전체 (604)
뚜.. 서툰.. (374)
폰 이야기 (13)
나의 길 (73)
읽을거리 (21)
사진갤러리 (124)

Recent Posts

  1. 와이브로 사용한다면 올레 와이파이 멀...
  2. Java Decomplier 설정 및 오류 해결.
  3. 쩝.. 이젠 장년층인가..
  4. MyLocationOverlay 사용시 갤럭시A에...
  5. 안개에 묻히다.

Recent Comments

  1. 자세한 설명 .. 감사합니다. kim 2011
  2. 몇 년 지나면 이제 노년층일세... 서툰걸음 2011
  3. 아~놔... 이 글 왤케 웃기지 ㅋㅋㅋ 김기영 2011
  4. 사진이 있으면 좋은데 글로만 적어놔서... 서툰걸음 2011
  5. 도움이 많이 되었습니다. 감사합니다!! konahn 2011

Recent Trackbacks

  1. 방화벽 막힌곳에서 무선랜을 이용해서 ... A 2010

Bookmarks

  1. ATOMOS
  2. c3cc3's Homepage
  3. 봄실
  4. 우중산보... 그 싱그러운 여유

66

32

google chart api graph

-30 days

today : 16

Site Stats

TOTAL 181833 HIT
TODAY 16 HIT
YESTERDAY 30 HIT