• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
(디버그를 도와줘~)로그캣!!!!
연속출석 :
1일 랭킹 : 6,397위 상사3
90%
90% (434 /480)
  • 댓글 6 |
  • 추천 5 |
  • 조회 6551 |
  • 2011-05-19 (목) 22:45
    아~~드디어~~오랜만에 강좌를 올리게 되네요~~^^
    디버깅이란?
    우리가 프로그램을 만들지만 기기안에서 소프트웨어(어플리케이션)이 어떻게 돌아가고 어디서 문제가 생겼는지는 알기가 힘듭니다. 그것을 도와주는것이 디버깅이라고 생각하시면 됩니다.
    씨언어,자바를 해보신분들이라면 개발툴들이 자체적으로 디버깅을 지원해주는걸 아실텐데요~
    안드로이드도 있습니다. 그중에서 돌아가는 것을 알기 위한 도구 로그캣에 대해 설명해 드리겠습니다..^^
    우리는 이클립스라는 개발툴로 하기로 했으니 거기서 사용하는 법을 알려드려야겠죠?
    처음에 키시면

    로그캣이라는 탭은 보이질 않습니다..^^그럼 보이게 해줘야겠죠?

    window->show view->other...로 들어갑니다.

    그러면 안드로이드 하위 목록에 LogCat이 보일겁니다..선택하시고 ok를 눌러주세요

    그러면 로그캣 탭이 생기고 뭔가 정신없이 출력문들이 막 나올겁니다(전 안드로이드 어플 개발상태라 그렇습니다..아무것도 없는 상태에서 탭을 추가시키면 아무것도 뜨지 않습니다..)
    여기서 확인할 수 있는건 로그 출력시간,프로세서 아이디,태그,로그 내용이 나옵니다..^^이것들을 우리가 눈으로 구분해서 볼려면 정신없겠죠?
    그것도 당연히 도와줍니다. 오른쪽 위에 둥근 원으로 된 VDIWF가 보이실겁니다.

    각각의 기능을 설명드리면
    V는 Verbose의 약자로 상세정보 출력
    D는 Debug의 약자로 디버깅 정보 출력
    I는 Infomation의 약자로 단순 정보만 출력
    W는 Warning의 약자로 경고문을 출력
    (경고는 프로그래밍을 해보신분은 아시겠지만 오류가 아니라 실행은 되지만 주의해야될부분입니다.)
    E는 Error의 약자로 어플리케이션의 심각한 오류를 출력할 때 사용됩니다.
    하지만 이것들을 클릭한다고 해서 그거만 보여주는게 아니고 그것이 최우선시로 출력되며 하위 우선순위들도 함께 출력됩니다.
    그러므로 이것들을 또 구분하도록 도와주는 설정을 할수 있는 기능이 있습니다.
    그옆의를 보시면 필터추가,필터수정,필터삭제,로그출력창클리어 버튼입니다.
    먼저 필터를 추가해 봅시다. +를 누르세요

    각각의 기능들은 써놨습니다.
    기능을 알려면 일단 뭔가 어플을 만들고 있어야 겠죠?
    새로 만들지 말고 전에 제 강의때 만든 Hello,Android를 불러오죠~^^
    불러오는 법은 다들 아시죠?
    불러온 다음 우리가 저번에 작성한 HelloActivity.java파일에 들어가 아래와 같이 소스를 추가합니다.
     

     
    import는 우리가 프로그래밍 할때 지원해주는 클래스를 사용하기 위해 등록해주는것이구요
    Log.i는 위의경우로 말하면 onCreate되었을때 로그를 출력(로그캣)하기 위해 추가 해주는것입니다.
    여기선 정보에 관련된 Infomation만 출력할려고 i를 하였고 v,d,w,e도 가능합니다.
    이렇게 해주셨으면 RUN을 해줍시다!!
     

     
    자 그리고 나서 로그캣 오른쪽 위의 i를 눌러주면 우선순위 Infomation이상인 로그만 보입니다. 하지만 잡다한것들도 나와 구분이 잘 안됩니다.
    그러면 이제 필터를 설정해 봅시다~
    로그캣 오른쪽 위의 녹색+를 눌러 필터를 추가합시다.
     

    필터이름은 원하시는대로 해주시구요 로그태그는 위 소스에서 했듯이 똑같이 해주시면 됩니다. by pid는 아까 로그캣 로그창에서 11093인걸 알게되었지만 그냥 비워두고 ok를 눌러주세요.로그레벨은 그 우선순위 밑으로 다 보겠다는 건데 우리는 우리가 원하는 것만 볼것이므로 none으로 해주시구요.
     

     
    자 그럼 우리가 원하는 것만 볼수 있게 되었습니다.
    이게 해보시면 느끼시겠지만 별거 아닌 과정이지만 참 복잡해보입니다.
    로그를 보여주는 메서드(i(),v(),d(),w(),e())는 사용하는게 어렵지 않습니다. 단지 어떤 정보를 로그로 출력할지 판단하는 것이 어려운 것이지요. 프로그래머가 출력되는 로그만 보고도 알아보기 쉬워야 함으로 로그 메시지는 자신이 알아볼수 있는 내용으로 해주셔야 됩니다.~~
    상당한 스압이 왔을거라 생각됩니다~~모두들 화이팅입니다~~^^


    [이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]
    하늘이아빠 2011-05-24 (화) 13:36:56
    저도 얼른 시작해야하는데 아무래도 컴을 바꾸고 시작해야할듯 하네요... ^^;
         
         
    레오쏭 2011-05-27 (금) 20:28:48
    컴퓨터~살땐 언제나 설레이는...^^
    afe8331 2011-05-23 (월) 11:40:38
    이해하기 어려워요ㅠㅠ
         
         
    레오쏭 2011-05-23 (월) 20:01:47
    따라 하는건 다들 잘하시는거 같은데..이론은 힘들어 하시네요..ㅠㅠ
    그래도 힘을내셔요~최대한 쉽게 알려드릴꼐요~
    ♣서로해♣ 2011-05-22 (일) 20:55:35
    에고~~머리에서 스팀 나와요..
    눈동자도 아프고..
    너무 어려워요...
         
         
    레오쏭 2011-05-22 (일) 21:48:17
    아무래도 전공이 아니시면 힘드실지도..하지만~공부를 하기위한 초석을 쌓기 위한 강좌니~힘내세요~
    댓글을 작성하시려면 로그인을 하셔야지만 작성가능합니다. [로그인하기] [회원가입하기]
    번호 제목 글쓴이 추천 조회 작성일
    17 권한?!-4.너에게 권한을 주마! +15 레오쏭 6 3042 11/06/28
    16 인텐트에 대한 간단한 보충~ +1 레오쏭 5 2094 11/06/28
    15 액티비티?!-3.집으로 전화거는어플을 만들어볼까요? +4 레오쏭 4 2724 11/06/22
    14 액티비티?!-2.버튼에 생명을 불어넣자! +12 레오쏭 6 7231 11/05/28
    13 액티비티?!-1.버튼,액티비티추가하기 +8 레오쏭 7 3770 11/05/22
    12 (디버그를 도와줘~)로그캣!!!! +6 레오쏭 5 6552 11/05/19
    11 업로드 지연 공지~ +11 레오쏭 4 2151 11/05/16
    10 [펌]안드로이드의 역사 +14 레오쏭 6 4384 11/05/14
    9 레알 Hello~Android 출력해볼까요? +8 레오쏭 9 3125 11/05/12
    8 Hello~Android 출력해볼까요? +13 레오쏭 9 3366 11/05/08
    7 에뮬레이터가 아닌 자신의 폰으로 바로바로 확인해보자~! +12 레오쏭 9 6987 11/05/06
    6 어플개발을 위한 무기들을 준비해보자!-4.이클립스 +24 레오쏭 13 4304 11/05/05
    5 어플개발을 위한 무기들을 준비해보자!-3.에뮬레이터 +21 레오쏭 14 3920 11/05/04
    4 어플개발을 위한 무기들을 준비해보자!-2.SDK +21 레오쏭 20 4015 11/05/04
    3 안드로이드라는 전쟁에 나가기 위한 준비를 해보자!-1.J… +32 레오쏭 20 4538 11/05/04
    2 일단 안드로이드가 뭔지부터 알고 넘어갈까요? +48 레오쏭 30 4542 11/05/03
    1 안녕하세요?뉴페이스 레오입니다~^^ +14 레오쏭 10 2964 11/05/03