Java 소스 분석 도구 추천 부탁드립니다.

FIFO의 이미지

Source Insight 같은 소스 분석 도구가 필요한데 돈이 없습니다.
Open Source Source Insight alternative로 검색해보니 몇개 나오긴 하는데 Java용은 없네요.
Java를 분석할 수 있는 Free S/W 추천 부탁드립니다.

p.s)
주 용도는 메소드에 대한 Caller 추적입니다.
그리고 Eclipse는 쓰고 있지만, Plugin 설치나 사용은 어떻게 하는건지 모릅니다.

oosap의 이미지

메소드에 대한 Caller 추적은 이클립스가 아니라도 비주얼스튜디오 익스프레스 에디션도 될테구요..
vim 이나 gvim 도 ctags 같은 플러그인 사용해서 할 수 있어요. 이클립스는 플러그인 없어도 Caller 추적은 기본적으로 되지 않나요?
배우기 쉬운걸로 따지면 이클립스가 젤 낫지 않나 싶은데요...

참고로 저도 소스인사이트를 대체하는 오픈소스를 찾다가 gvim 을 사용하기 시작했습니다. gvim 을 쓰다가 결국 OS도 리눅스로 바꾸었고 이제는 vim 을 주로 씁니다. 님은 저랑 시작동기가 같으시네요..

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.

FIFO의 이미지

답변 주셔서 감사합니다.
그런데 지금 이클립스 갈릴레오 쓰고 있는데요. 이클립스 설정 이런거 아는 게 없어서... Caller 추적 어떻게 하는가요?
gvim은 이름만 들어보고 무슨 툴인지 모르는데 안내 좀 해주시면 감사하겠습니다.

oosap의 이미지

이클립스는 아랫분이 잘 설명해주셨네요.

gvim 은 콘솔화면의 vim 을 그래픽라이브러리로 구현한 버전입니다.
vim 은 vi 에 기능이 추가된 것이구요.
리눅스나 유닉스 시스템에는 어디에나 vi 가 있구요..
그러니까 vi >> vim >> gvim 이렇게 되는 것이죠.

gvim 을 제가 선택했던 것은 그것이 윈도우즈에서도 사용할 수 있다는 점이었습니다.
윈도우즈에서도 리눅스/유닉스상에서와 동일한 편집기를 쓸 수 있다는 건 무척 매력적이었거든요.
(이건 이클립스도 마찬가지 입니다만..)

1. 그게 왜 매력적이었느냐 하면 그건 vim 을 반드시 써야만 한다는 걸 알았기 때문이에요. 프로그래머로 살다보면 리눅스를 안 쓸 수는 없는데 리눅스를 쓰는 사람이 vim을 안쓰면 말이 안될거라 생각했습니다. 이런 생각으로 어차피 해야 할 것 윈도우즈에서도 동일한 물건으로 익숙해지자. 뭐 이런 생각이었어요. 그러니까 이런 목적의식이 없이 윈도우즈에서 gvim 을 쓴다면 귀찮아서 못 쓸지도 모릅니다. 왜냐면 처음 쓸 때 익히고 알아야 하는 것들이 많거든요. 이런걸 배우고 익힐 심산이 아니라면 그래서 gvim을 쓰기는 어려울 겁니다.

2. 또 한가지 이유가 더 있네요. 비주얼스튜디오와 이클립스보다는 (g)vim 이 소스인사이트와는 더 비슷하다는 느낌이었어요. 소스인사이트처럼 강력한 소스코드 브라우징을 하는 데에는 비주얼스튜디오와 이클립스는 좀 불편했습니다. gvim 은 그렇지 않아요. 소스인사이트 못지않게 손에 착 붙는 느낌입니다. 손맛이 있다고 할 수 있죠.

3. 그리고 라이센스. 소스인사이트는 불법으로 쓰는 수밖에 없었습니다. 좀 불편하지만 무료로 쓸 수 있고 어차피 배워야할 vim 도 익힐 수 있는 gvim 을 선택했었죠..

지극히 주관적인 설명 여기까지만 하고요.. 아래는 가볼만한 웹사이트들입니다.

[gvim]
http://minihouse.tistory.com/11
http://www.4ellene.net/tt/376

[vim]
http://wiki.kldp.org/wiki.php/DocbookSgml/Vim-KLDP
http://wiki.kldp.org/KoreanDoc/html/Vim_Guide-KLDP/Vim_Guide-KLDP.html
http://www.vim.org/htmldoc/starting.html
http://vimdoc.sourceforge.net/
http://en.wikibooks.org/wiki/Learning_vi:Vim
http://kltp.kldp.net/stories.php?topic=25
http://wiki.kldp.org/wiki.php/ViEditorTips

책으로는 백창우씨의 '유닉스 리눅스 필수 유틸리티' 추천합니다.

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.

FIFO의 이미지

링크까지 걸어주시고... 덕분에 많은 공부가 됐습니다. 대단히 감사합니다.

newyorker의 이미지

그냥 원하는 메소드에서 마우스 오른쪽 버튼 누르면 나옵니다.
지금 켜서보니 정확한 이름은 'Open Call Hierarchy'이고 단축키는 Ctrl + Alt + H네요.
당연히 caller, callee 다 됩니다.

FIFO의 이미지

대단히 감사합니다.
집에 돌아온지라 확인은 못했지만, 제가 눈뜬 장님 노릇을 하고 있었던 것 같네요.
그런 기능이 있었다니... 덕분에 정말 큰 공부 했습니다. 감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.