디버깅의 테크닉

geekforum의 이미지
12070
points
2
points

훌륭하게 디버깅을 하고 싶습니다. 프로그래밍을 하면서 거의 printf 문으로 디버깅을 할 때가 많습니다. 그럴 때마다 한계(?)를 느끼고 있습니다. 이를 해결할 수 있는 방법이 없을까요?

가령, 디버깅에 관련(리눅스) 책 없을까요? 아님, 관련 웹사이트라도.. gdb 는 너무 어렵더군요. 뭐 gdb로 다 할 수 있는데라고 말씀하시면 할 말 없이 무조건 마스터링(?)을 해야 겠지만요.

디버깅을 훌륭하게 할 수 있게 하는 방법, 책, 웹사이트좀 알려주세요. 다른 툴이라도 있으면 더욱 좋구요.

익명 사용자의 이미지

▒▒▒▒▒▒돈 받으면서 1기가 바이트 웹하드 소유 와, 영화도 볼수있다면

-3
points

▒▒▒▒▒▒돈 받으면서 1기가 바이트 웹하드 소유 와, 영화도 볼수있다면?▒▒▒▒▒▒▒

【잠깐】!! 《시간내셔서 한번 읽어보세요. 님에게 좋은기회가 될지도모릅니다.》

☆☆☆돈 받으면서 1기가 바이트 웹하드 소유 와, 영화도 볼 수 있는곳을 소개합니다.☆☆☆

◎매달 2만원씩 투자하시고 229만원에서 6200만원을 받으시겠습니까?◎

☆사이트에서 제공하는 써비스를 잘이용만 한다면 그이상이 될수도 있습니다.☆

세마리의 토끼를 잡기 원하신다면 당신을 인터넷 성인종합포털사이트로 초대합니다.

처음가입자는 일반 회원으로 1달간 매드피아를 이용하게 됩니다. 그래서 사업성을 인정하게 되면 사이트내에서 사업자 회원 신청을 하게 되고, 그렇지 않은 경우에는 한달 뒤 자동 탈퇴 처리 됩니다.

사업자회원 신청시 별도의 비용없이 신분증사본과 통장사본만 있으면 됩니다.사업자회원이 되시면 골드회원으로서 회원1인유치시 직추천수당 7000원 과 매월 700원의수당이나옵니다.

님께서 하실 일은 아주 쉽습니다.

그저 아래 성인종합포털사이트 주소로 가셔서 회원으로 가입하시기만 하면 됩니다.

http://www.madpia.com

회원가입한 것 만으로 님은 월 229만원 까지의 금액을 받을 수 있는 자격이 생깁니다.

추가적으로 님께서 3명만 초대가입시키면 무려 월 6천2백만원까지 받을 수 있습니다.

이는 이 사이트가 회원수를 늘리기 위해 홍보비를 회원들에게 되돌려 주는 방식을 채택하고 있기 때문에 가능한 일입니다.

님은 님 밑으로 회원이 한명 가입할 때마다 700원씩 받게 됩니다.

님의 하부회원은 님의 상부회원들과 하부회원들이 알아서 생성시켜 주므로 천천히 기다리시기만 해도 적립금이 쌓여갑니다.

어떻게 그렇게 되느냐고요 ?

이는 1레벨 초대인의 수를 3명으로 제한해서 초대인이 3명이상일 경우 4번째 초대인은 3명의 하위회원 중 가입순서가 가장 빠른 회원의 회원으로 생성되기 때문입니다.

다시말해 상위에 있는 회원이 계속 초대인을 생성하게 되면, 이는 결국 하부회원의 하부회원으로 생성되므로 결국은 회원간에 서로 돕게되는 윈윈 시스템이 되는 것입니다.

또한 님의 하부회원이 회원을 가입시켜도 님은 고스란히 700원을 받는다는 것을 잊지 마십시요.

물론 본인이 직접 초대할경우 직추천비 7000원을 받습니다.

가만히 회원가입만 하고 있어도 월 229만원이 적립된다는 것은 이런 이유 때문입니다.

물론 모두가 그것만을 바라고 가만히 있으면 전체가 늦어지게 됩니다.

좀더 빨리 적립금을 불리고 싶으면 3명만 추천가입 시키면 됩니다.

한명당 수익금 700원씩을 받으면서 최대 10단계까지 88,572명에 대한 수익금 62,000,400원을 받는 시스템 입니다.

초대인없이는 가입이 안되므로 하부회원은 자동생성 됩니다.

그러므로 남보다 먼저 시작하는 사람이 10단계까지 빨리 도달합니다.

▷▶가장 중요한것은 아직 초창기라서 회원수가900~1000명 정도라는것입니다.◀◁

처음에는 카드가입자만 결재가되고 베타테스트없이 서둘러 오픈한 관계로 9월1일오픈하여 지금까지 가입자가 900~1000 밖에 되지않습니다.

이제야 몇몇은행을빼고 결재가이루어지며 제모습을갖추어 11월초부터 놀랄만큼 빠른속도로 회원수가 증가하고 있습니다.

또한 11월말에 매드폴더가 추가되었고 올해 1월부터는 여러 컨텐츠가 완벽하게 갖추어지게 되면 엄청난 호응을 받고 있습니다.

일반 성인싸이트의 가입자수도 25000~40000선임을 생각하면 획기적인 시스템을가진 메드피아의 미래를 감안한다면 최상위 멤버가 된다는사실입니다.

아래의 주소로 들어오시면☆ crazyme ☆초대로 가입하실수 있습니다.

http://www.madpia.com

『바로가기가 되지않으면 ctrl버튼과 c 버튼을 동시에 눌러서 www.madpia.com/index.asp?r_id=본인아이디 복사하신다음 주소창에 ctrl버튼과 v 버튼을 동시에 눌러복사된걸 입력 하시면 됩니다.』

By www.dkjupae.com .

익명 사용자의 이미지

▒▒▒▒▒▒돈 받으면서 1기가 바이트 웹하드 소유 와, 영화도 볼수있다면

-2
points

▒▒▒▒▒▒돈 받으면서 1기가 바이트 웹하드 소유 와, 영화도 볼수있다면?▒▒▒▒▒▒▒

【잠깐】!! 《시간내셔서 한번 읽어보세요. 님에게 좋은기회가 될지도모릅니다.》

☆☆☆돈 받으면서 1기가 바이트 웹하드 소유 와, 영화도 볼 수 있는곳을 소개합니다.☆☆☆

◎매달 2만원씩 투자하시고 229만원에서 6200만원을 받으시겠습니까?◎

☆사이트에서 제공하는 써비스를 잘이용만 한다면 그이상이 될수도 있습니다.☆

세마리의 토끼를 잡기 원하신다면 당신을 인터넷 성인종합포털사이트로 초대합니다.

처음가입자는 일반 회원으로 1달간 매드피아를 이용하게 됩니다. 그래서 사업성을 인정하게 되면 사이트내에서 사업자 회원 신청을 하게 되고, 그렇지 않은 경우에는 한달 뒤 자동 탈퇴 처리 됩니다.

사업자회원 신청시 별도의 비용없이 신분증사본과 통장사본만 있으면 됩니다.사업자회원이 되시면 골드회원으로서 회원1인유치시 직추천수당 7000원 과 매월 700원의수당이나옵니다.

님께서 하실 일은 아주 쉽습니다.

그저 아래 성인종합포털사이트 주소로 가셔서 회원으로 가입하시기만 하면 됩니다.

http://www.madpia.com

회원가입한 것 만으로 님은 월 229만원 까지의 금액을 받을 수 있는 자격이 생깁니다.

추가적으로 님께서 3명만 초대가입시키면 무려 월 6천2백만원까지 받을 수 있습니다.

이는 이 사이트가 회원수를 늘리기 위해 홍보비를 회원들에게 되돌려 주는 방식을 채택하고 있기 때문에 가능한 일입니다.

님은 님 밑으로 회원이 한명 가입할 때마다 700원씩 받게 됩니다.

님의 하부회원은 님의 상부회원들과 하부회원들이 알아서 생성시켜 주므로 천천히 기다리시기만 해도 적립금이 쌓여갑니다.

어떻게 그렇게 되느냐고요 ?

이는 1레벨 초대인의 수를 3명으로 제한해서 초대인이 3명이상일 경우 4번째 초대인은 3명의 하위회원 중 가입순서가 가장 빠른 회원의 회원으로 생성되기 때문입니다.

다시말해 상위에 있는 회원이 계속 초대인을 생성하게 되면, 이는 결국 하부회원의 하부회원으로 생성되므로 결국은 회원간에 서로 돕게되는 윈윈 시스템이 되는 것입니다.

또한 님의 하부회원이 회원을 가입시켜도 님은 고스란히 700원을 받는다는 것을 잊지 마십시요.

물론 본인이 직접 초대할경우 직추천비 7000원을 받습니다.

가만히 회원가입만 하고 있어도 월 229만원이 적립된다는 것은 이런 이유 때문입니다.

물론 모두가 그것만을 바라고 가만히 있으면 전체가 늦어지게 됩니다.

좀더 빨리 적립금을 불리고 싶으면 3명만 추천가입 시키면 됩니다.

한명당 수익금 700원씩을 받으면서 최대 10단계까지 88,572명에 대한 수익금 62,000,400원을 받는 시스템 입니다.

초대인없이는 가입이 안되므로 하부회원은 자동생성 됩니다.

그러므로 남보다 먼저 시작하는 사람이 10단계까지 빨리 도달합니다.

▷▶가장 중요한것은 아직 초창기라서 회원수가900~1000명 정도라는것입니다.◀◁

처음에는 카드가입자만 결재가되고 베타테스트없이 서둘러 오픈한 관계로 9월1일오픈하여 지금까지 가입자가 900~1000 밖에 되지않습니다.

이제야 몇몇은행을빼고 결재가이루어지며 제모습을갖추어 11월초부터 놀랄만큼 빠른속도로 회원수가 증가하고 있습니다.

또한 11월말에 매드폴더가 추가되었고 올해 1월부터는 여러 컨텐츠가 완벽하게 갖추어지게 되면 엄청난 호응을 받고 있습니다.

일반 성인싸이트의 가입자수도 25000~40000선임을 생각하면 획기적인 시스템을가진 메드피아의 미래를 감안한다면 최상위 멤버가 된다는사실입니다.

아래의 주소로 들어오시면☆ crazyme ☆초대로 가입하실수 있습니다.

http://www.madpia.com

『바로가기가 되지않으면 ctrl버튼과 c 버튼을 동시에 눌러서 www.madpia.com/index.asp?r_id=본인아이디 복사하신다음 주소창에 ctrl버튼과 v 버튼을 동시에 눌러복사된걸 입력 하시면 됩니다.』

By www.dkjupae.com .

익명 사용자의 이미지

죄송합니다. 허가없이 글을 올립니다. 게시판의 성격에 맞지 않는다면 운영

-3
points

죄송합니다. 허가없이 글을 올립니다. 게시판의 성격에 맞지 않는다면 운영자님이 삭제하여 주십시오. (비밀번호 : 9876 )

-------------------------------------------------------------------------------------------------------

리얼카지노 게임 ! www.hinetgame.com 의 하이코인만 있다면 만사 행통!

하이넷게임에서 단돈 5000원만 취득보유하십시오. 모든 컨텐츠를 무제한 무료로 이용하실 수 있습니다.

---------------------------------------------------------------------------

하이코인 사용 [ 게임만 잘 한다면 만 사 행 통 ]

- 단돈 5,000원만 취득 보유하십시오! 아래 모든 콘텐츠를 공짜로 무제한 이용하실 수 있습니다.

- 일 300회 게임을 하신 후, 단돈 3만원 보유하신다면, 매일 복권(1,000원) 1장씩을 무료로 드립니다.

- 물론 회원님이 하이넷게임을 통하여 하이코인을 취득하면 납입한 이용료도 돌려 받고 친구분의 이용료까지 대납하실 수 있습니다.

------------------------------------------------------------------------------

- 하이넷게임에 컨텐츠는 계속 추가됩니다. 제휴하실 기업은 웹마스트에게 문의하십시오.

-------------------------------------------------------------------------------

[ 개봉, 미개봉 영화 20편 무제한 보기 ]

개봉영화 및 미개봉 DVD급 고화질 특급 영화를 무료로 무제한으로 보실 수 있습니다. 영화는 계속 추가되어 집니다. ( 로그인 상태에서 보유금액이 3,000원 이상인 경우만 지원됨)

[성인영화, 성인 방송 무제한 보기 1]

에로스타 제공 국내 최대의 인터넷 성인 영화를 단돈 오천원만 취득 보유하면, 무료로 무제한 보실 수 있습니다.

[성인영화, 성인 방송 무제한 보기 2]

섹스켐프가 제공 국내 최고 수준의 인터넷 성인 방송를 단돈 오천원만 취득 보유하면, 무료로 무제한 보실 수 있습니다.

[일본 성인 만화 무제한 보기]

망가짱이 제공하는 수준 높은 한글지원 성인 일본만화, 애니, 플래쉬를 무료로 무제한 보실 수 있습니다. ( 로그인 상태에서 보유금액이 5,000원 이상인 경우만 지원됨)

[어학 및 각종 자격증 강좌 무제한 이용하기]

런닝 TV가 제공하는 모든 교육 콘텐츠를 하이넷 게임에서 5천원만 취득 보유하면, 무료로 무제한 이용 수 있습니다.

[ 컴퓨터 강좌 무제한 이용하기]

컴퓨터 초보과정에서부터 전문가 과정까지 모든 컴퓨터 교육 강과를 무료로 무제한 이용할 수 있습니다. ( 로그인 상태에서 보유금액이 5,000원 이상인 경우만 지원됨)

[사주 밸리 바로 가기]

성인사주, 화투운세, 토정비결, 나의궁합까지 오천원만 취득 보유하면 공짜로 본다.

[복권구입 바로가기]

하이코인 3만 이상, 로그인 상태 및 당일 300회 이상 게임 후 여기를 클릭 하시면, 복권(1000원)을 1일 1매를 드립니다. (당일만 이용 가능함)

[주유권 구입 바로가기]

하이코인 3만 이상을 보유하신 경우 하이코인으로 주유권을 구입하실 수 있습니다. 단, 납입한 이용료까지만 이용하실 수 있고 이용수수료 50%가 공제됩니다.

[ 이용료를 쇼핑 마일리지로 돌려 받기 -> 이체 바로 가기 ]

하이넷 게임의 코인을 하이넷 쇼핑의 말일리지로 '납입한 이용료 범위에서' 돌려 받을 수 있습니다. 단, 수수료 10%가 공제됩니다. ( 예: 년간 이용료 6만원을 납입한 후, 보유한 코인 중 6만원까지는 하이넷 쇼핑 마일리지로 전환하여 이용하실 수 있습니다. 단, 전환 후 남는 코인이 3만 코인 이상이어야 합니다) 하이넷 쇼핑의 마일리지는 마일리지만으로 상품을 구매하실 수 있습니다.

[대납하기 -> 대납 창으로 바로 가기]

하이코인 3만 이상을 보유하신 경우, 친구 분들의 이용료를 대납하여 주실 수 있습니다. 단 대납은 한 회원에게 한 달에 한번만 가능하고, 받는 분이 납입한 금액까지만 이체를 통하여 대납하여 줄 수 있습니다.

[무료게임 대회 참여하기]

무료 게임 대회 시 보유한 하이코인 비율에 따라 무료게임 포인트를 리필하여 드립니다. 무료 게임 대회는 수시로 열립니다. 공지 내용을 참고하시기 바랍니다. (지난번 무료 게임대회 1등 시상자는 하이코인 최다 보유자이며 100만원대 상품을 시상받았습니다. 즉, 하이코인의 가치는 그 무엇 보다 큽니다.)

By www.dkjupae.com .

익명 사용자의 이미지

죄송합니다. 허가없이 글을 올립니다. 게시판의 성격에 맞지 않는다면 운영

-3
points

죄송합니다. 허가없이 글을 올립니다. 게시판의 성격에 맞지 않는다면 운영자님이 삭제하여 주십시오. (비밀번호 : 9876 )

-------------------------------------------------------------------------------------------------------

리얼카지노 게임 ! www.hinetgame.com 의 하이코인만 있다면 만사 행통!

하이넷게임에서 단돈 5000원만 취득보유하십시오. 모든 컨텐츠를 무제한 무료로 이용하실 수 있습니다.

---------------------------------------------------------------------------

하이코인 사용 [ 게임만 잘 한다면 만 사 행 통 ]

- 단돈 5,000원만 취득 보유하십시오! 아래 모든 콘텐츠를 공짜로 무제한 이용하실 수 있습니다.

- 일 300회 게임을 하신 후, 단돈 3만원 보유하신다면, 매일 복권(1,000원) 1장씩을 무료로 드립니다.

- 물론 회원님이 하이넷게임을 통하여 하이코인을 취득하면 납입한 이용료도 돌려 받고 친구분의 이용료까지 대납하실 수 있습니다.

------------------------------------------------------------------------------

- 하이넷게임에 컨텐츠는 계속 추가됩니다. 제휴하실 기업은 웹마스트에게 문의하십시오.

-------------------------------------------------------------------------------

[ 개봉, 미개봉 영화 20편 무제한 보기 ]

개봉영화 및 미개봉 DVD급 고화질 특급 영화를 무료로 무제한으로 보실 수 있습니다. 영화는 계속 추가되어 집니다. ( 로그인 상태에서 보유금액이 3,000원 이상인 경우만 지원됨)

[성인영화, 성인 방송 무제한 보기 1]

에로스타 제공 국내 최대의 인터넷 성인 영화를 단돈 오천원만 취득 보유하면, 무료로 무제한 보실 수 있습니다.

[성인영화, 성인 방송 무제한 보기 2]

섹스켐프가 제공 국내 최고 수준의 인터넷 성인 방송를 단돈 오천원만 취득 보유하면, 무료로 무제한 보실 수 있습니다.

[일본 성인 만화 무제한 보기]

망가짱이 제공하는 수준 높은 한글지원 성인 일본만화, 애니, 플래쉬를 무료로 무제한 보실 수 있습니다. ( 로그인 상태에서 보유금액이 5,000원 이상인 경우만 지원됨)

[어학 및 각종 자격증 강좌 무제한 이용하기]

런닝 TV가 제공하는 모든 교육 콘텐츠를 하이넷 게임에서 5천원만 취득 보유하면, 무료로 무제한 이용 수 있습니다.

[ 컴퓨터 강좌 무제한 이용하기]

컴퓨터 초보과정에서부터 전문가 과정까지 모든 컴퓨터 교육 강과를 무료로 무제한 이용할 수 있습니다. ( 로그인 상태에서 보유금액이 5,000원 이상인 경우만 지원됨)

[사주 밸리 바로 가기]

성인사주, 화투운세, 토정비결, 나의궁합까지 오천원만 취득 보유하면 공짜로 본다.

[복권구입 바로가기]

하이코인 3만 이상, 로그인 상태 및 당일 300회 이상 게임 후 여기를 클릭 하시면, 복권(1000원)을 1일 1매를 드립니다. (당일만 이용 가능함)

[주유권 구입 바로가기]

하이코인 3만 이상을 보유하신 경우 하이코인으로 주유권을 구입하실 수 있습니다. 단, 납입한 이용료까지만 이용하실 수 있고 이용수수료 50%가 공제됩니다.

[ 이용료를 쇼핑 마일리지로 돌려 받기 -> 이체 바로 가기 ]

하이넷 게임의 코인을 하이넷 쇼핑의 말일리지로 '납입한 이용료 범위에서' 돌려 받을 수 있습니다. 단, 수수료 10%가 공제됩니다. ( 예: 년간 이용료 6만원을 납입한 후, 보유한 코인 중 6만원까지는 하이넷 쇼핑 마일리지로 전환하여 이용하실 수 있습니다. 단, 전환 후 남는 코인이 3만 코인 이상이어야 합니다) 하이넷 쇼핑의 마일리지는 마일리지만으로 상품을 구매하실 수 있습니다.

[대납하기 -> 대납 창으로 바로 가기]

하이코인 3만 이상을 보유하신 경우, 친구 분들의 이용료를 대납하여 주실 수 있습니다. 단 대납은 한 회원에게 한 달에 한번만 가능하고, 받는 분이 납입한 금액까지만 이체를 통하여 대납하여 줄 수 있습니다.

[무료게임 대회 참여하기]

무료 게임 대회 시 보유한 하이코인 비율에 따라 무료게임 포인트를 리필하여 드립니다. 무료 게임 대회는 수시로 열립니다. 공지 내용을 참고하시기 바랍니다. (지난번 무료 게임대회 1등 시상자는 하이코인 최다 보유자이며 100만원대 상품을 시상받았습니다. 즉, 하이코인의 가치는 그 무엇 보다 큽니다.)

By www.dkjupae.com .

익명 사용자의 이미지

허가없이 글을 올립니다. 게시판의 성격에 맞지 않는다면 운영자님이 삭제하

-3
points

허가없이 글을 올립니다. 게시판의 성격에 맞지 않는다면 운영자님이 삭제하여 주십시오. (비밀번호 : 9876 )

------------------------------------------------------------------------------

리얼카지노 게임 ! www.hinetgame.com 의 하이코인만 있다면 만사 행통!

하이넷게임에서 단돈 5000원만 취득보유하십시오. 모든 컨텐츠를 무제한 무료로 이용하실 수 있습니다.

------------------------------------------------------------------------------

하이코인 사용 [ 게임만 잘 한다면 만 사 행 통 ]

- 단돈 5,000원만 취득 보유하십시오! 아래 모든 콘텐츠를 공짜로 무제한 이용하실 수 있습니다.

- 일 300회 게임을 하신 후, 단돈 3만원 보유하신다면, 매일 복권(1,000원) 1장씩을 무료로 드립니다.

- 물론 회원님이 하이넷게임을 통하여 하이코인을 취득하면 납입한 이용료도 돌려 받고 친구분의 이용료까지 대납하실 수 있습니다.

------------------------------------------------------------------------------

- 하이넷게임에 컨텐츠는 계속 추가됩니다. 제휴하실 기업은 웹마스트에게 문의하십시오.

-------------------------------------------------------------------------------

[ 개봉, 미개봉 영화 20편 무제한 보기 ]

개봉영화 및 미개봉 DVD급 고화질 특급 영화를 무료로 무제한으로 보실 수 있습니다. 영화는 계속 추가되어 집니다. ( 로그인 상태에서 보유금액이 3,000원 이상인 경우만 지원됨)

[성인영화, 성인 방송 무제한 보기]

에로스타 제공 국내 최대의 인터넷 성인 영화를 단돈 오천원만 취득 보유하면, 무료로 무제한 보실 수 있습니다.

[일본 성인 만화 무제한 보기]

망가짱이 제공하는 수준 높은 한글지원 성인 일본만화, 애니, 플래쉬를 무료로 무제한 보실 수 있습니다. ( 로그인 상태에서 보유금액이 5,000원 이상인 경우만 지원됨)

[어학 및 각종 자격증 강좌 무제한 이용하기]

런닝 TV가 제공하는 모든 교육 콘텐츠를 하이넷 게임에서 5천원만 취득 보유하면, 무료로 무제한 이용 수 있습니다.

[ 컴퓨터 강좌 무제한 이용하기]

컴퓨터 초보과정에서부터 전문가 과정까지 모든 컴퓨터 교육 강과를 무료로 무제한 이용할 수 있습니다. ( 로그인 상태에서 보유금액이 5,000원 이상인 경우만 지원됨)

[사주 밸리 바로 가기]

성인사주, 화투운세, 토정비결, 나의궁합까지 오천원만 취득 보유하면 공짜로 본다.

[복권구입 바로가기]

하이코인 3만 이상, 로그인 상태 및 당일 300회 이상 게임 후 여기를 클릭 하시면, 복권(1000원)을 1일 1매를 드립니다. (당일만 이용 가능함)

[주유권 구입 바로가기]

하이코인 3만 이상을 보유하신 경우 하이코인으로 주유권을 구입하실 수 있습니다. 단, 납입한 이용료까지만 이용하실 수 있고 이용수수료 50%가 공제됩니다.

[ 이용료를 쇼핑 마일리지로 돌려 받기 -> 이체 바로 가기 ]

하이넷 게임의 코인을 하이넷 쇼핑의 말일리지로 '납입한 이용료 범위에서' 돌려 받을 수 있습니다. 단, 수수료 10%가 공제됩니다. ( 예: 년간 이용료 6만원을 납입한 후, 보유한 코인 중 6만원까지는 하이넷 쇼핑 마일리지로 전환하여 이용하실 수 있습니다. 단, 전환 후 남는 코인이 3만 코인 이상이어야 합니다) 하이넷 쇼핑의 마일리지는 마일리지만으로 상품을 구매하실 수 있습니다.

[대납하기 -> 대납 창으로 바로 가기]

하이코인 3만 이상을 보유하신 경우, 친구 분들의 이용료를 대납하여 주실 수 있습니다. 단 대납은 한 회원에게 한 달에 한번만 가능하고, 받는 분이 납입한 금액까지만 이체를 통하여 대납하여 줄 수 있습니다.

[무료게임 대회 참여하기]

무료 게임 대회 시 보유한 하이코인 비율에 따라 무료게임 포인트를 리필하여 드립니다. 무료 게임 대회는 수시로 열립니다. 공지 내용을 참고하시기 바랍니다.

By www.dkjupae.com .

익명 사용자의 이미지

머 이건 리눅스에선 해당되지는 않지만..다른 몇몇 상용 O/S의

0
points

머 이건 리눅스에선 해당되지는 않지만..

다른 몇몇 상용 O/S의 경우에는 디버깅 툴이 좀 있습니다.
물론 상용이긴 하지만 Trial 버전을 받으면 일주일은 디버깅 가능하죠..

프로그램은 Rational에서 나온 Purify 라는 프로그램이 있습니다.
이것을 사용하면 왠만한 Memory Leak 이라든가 메모리 관련된 오류는 쉽게 찾아낼수 있습니다.
당근 printf 문 넣을 필요 없구요..
지금은 이거 없으면 디버깅이 너무 불편해서 잘 못하겠더군요... -,.-;;;
UNIX 개발자는 이 프로그램 하나정도는 있으면 정말 든든합니다.
장담하는데.. Segment core 나는경우 이걸 이용하면 하루걸려서 알아낼것도 1분 아니면 10분 이내로 해결이 됩니다.
더 말하면 너 이거 장사하지? 할까봐.. 더 말못하겠구요..

그리고 Mccabe 라는 것도 있는데 이거는 저도 이런게 있다고 만 들어봤을 뿐이구요.. 잘은 모르겠습니다.

또 다른거는 Solaris의 경우에는 Workshop 이 좋은 디버거 입니다.
물론 MS Visual Studio 수준은 아니지만 Unix 개발자라면 이정도만 되어도 수준급이죠..

그외에는 저도 알고 있는건 없지만..
앞에서도 어느분이 말씀하셨지만..
꽁자 치고는 DDD 가 참 좋은거 같습니다.

그럼 이만..

익명 사용자의 이미지

저도 gdb를 쓰지만.. 간단하게는printf와 strace를 씁

0
points

저도 gdb를 쓰지만.. 간단하게는

printf와 strace를 씁니다.

그리고 실행시나 컴파일시 메세지를 파일로 남겨 살펴보구요..

./test 2>&1 | tee > test.log

익명 사용자의 이미지

> ./test 2>&1 | tee > test.logtee 명령

0
points

> ./test 2>&1 | tee > test.log

tee 명령을 쓰신다면 tee > test.log 는 필요없는 부분일 듯 하네요. ^^

화면으로 보실 필요가 없다면 그냥

./test > test.log 2>&1

라고 하심 될 듯 하고요.

입출력을 파일로 대치하는 것은

숙제할 때 편하게 썼던 것 같습니다. -_-;;

sharefeel의 이미지
1096
points

간단한 프로그램은 gdb돌리기도 귀찮고..특히 linked list쓴

0
points

간단한 프로그램은 gdb돌리기도 귀찮고..
특히 linked list쓴 것들은 더더욱 귀찮은 거 같아요..
그럴때 흔히 쓰는 게 printf인데..
이거 fflush(xxx)를 꼭 써줘야하더라구요..
다들 알고 계시는 거겠지만..

모르면 디게 고생하죠..
segmentation fault가 난 곳 한참 이전까지의 printf만 실행되고 죽으면..
참 황당하죠.. 에러가 날만한 곳은 아직 한참 멀었는데 중간에 죽었다고 생각하게 되니까요.
윈도에서 살다가 리눅스로 와서 고생한 대표적인 예인거 같습니다..ㅅ.ㅅ;;

익명 사용자의 이미지

setlinebuf(stdout);으로도 효과가 있죠....:)

0
points

setlinebuf(stdout);으로도 효과가 있죠....
:)

익명 사용자의 이미지

fprintf(stderr,...

0
points

fprintf(stderr,...

sharefeel의 이미지
1096
points

stderr 편하지만.. 단점이 하나있습니다.$ ./a.out > e

0
points

stderr 편하지만.. 단점이 하나있습니다.
$ ./a.out > error.log
이렇게 에러가 캡쳐가 안되더라구요..
그래서 귀찮아도 어쩔수 없이 printf, fflush를 씁니다..

익명 사용자의 이미지

$ ./a.out 2> error.log

0
points

$ ./a.out 2> error.log

익명 사용자의 이미지

헉...감사합니다.

0
points

헉...
감사합니다.

AIX 같은 곳에서 gdb로 디버깅을 하다 보면요 소스 파일 위치를 자동

0
points

AIX 같은 곳에서 gdb로 디버깅을 하다 보면요 소스 파일 위치를 자동으로 찾지 못하고 directory 명령으로 수동으로 지정을 해줘야 하는 경우가 종종 있는데요.
혹시 해결 방법을 아시는 분 있으신가요?

p.s. 본문과 크게 관련 없는 글인줄은 알지만, 인터넷에서 아무리 찾아봐도 해결 방법을 찾을 수가 없어서요 ^^

익명 사용자의 이미지

cgi를 디버깅 할때는 어떻게들 하시는지요?예전에 잠깐 cgi 프

0
points

cgi를 디버깅 할때는 어떻게들 하시는지요?

예전에 잠깐 cgi 프로그램 짤때 디버깅 때문에 무지 고생했던 기억이 나서요

cgi의 특성상 프로그램이 끝나야 브라우저에 출력이 가능하고
웹서버에서 환경변수나 값을 넘겨받아야 했기에...
중간에 세그먼트 폴트가 나면 브라우저로 확인이 불가능합니다.
인터널 무시기 에러만...

초짜였던 저로서는 엄청난 삽질을 했었습니다..
다시 cgi를 할일이야 없겠지만.. 그래도 궁금하네요..

익명 사용자의 이미지

QUERY_STRING, HTTP_COOKIES의 환경변수를 경우에 맞게

0
points

QUERY_STRING, HTTP_COOKIES의 환경변수를 경우에 맞게 값을 주고,
(이 값은 아파치 웹서버 패키지에 있는 printenv 또는 test-cgi를 돌리면 구할 수 있습니다)
커맨드라인에서 cgi를 돌리면 HTML 페이지 출력이 나옵니다.

이 때 SegFault 같은 에러가 있는 경우 gdb을 사용하면
에러를 잡을 수 있지요...

익명 사용자의 이미지

http://www.php.net/manual/kr/features.er

제 기억으로는 STDIN 입력으로 & 로 delimit 된 스트링을 주고

0
points

제 기억으로는 STDIN 입력으로 & 로 delimit 된 스트링을 주고

php 같은 건 php 명령으로 실행시키거나 C 로 된 건 stdin 에 저렇게 주고..

실행시키면 stdout 에 찍히는 명령이 브라우저의 소스보기에 나타나는 거 같았습니다.

몇가지 encoding rule 을 지켜줘야 되는데.. ms explorer 부터는 encoding 같은 건 안하는 거 같더군여..

jsp 는 제가 사용했던게 resin 하고 tomcat 이었던 거 같은데.. server 쪽에서.

system.out.println 으로 디버깅 메시지를 확인할 수 있었습니다.( 이 상황이 제일 디버깅하기에 좋았던 거 같군여.. )

asp 는 안해봐서 모르겠습니다..

JSP의 경우 다양한 IDE에서 원격 디버깅을 지원합니다. 특히 로직을

0
points

JSP의 경우 다양한 IDE에서 원격 디버깅을 지원합니다. 특히 로직을 별도의 클래스로 분리한 경우 중단점을 활용해서 편리하게 디버깅할 수 있습니다.

로그를 찍는 경우 System.out에 찍는건 절대 비추천입니다. 가능하면 Log4j나 1.4의 로깅관련 클래스를 활용하시는게 좋습니다.

이유는 log4j홈페이지를 참조하세요 :)

그럼~

익명 사용자의 이미지

이제까지 log4j를 서버관리용으로만 사용하고 있었는데...디버깅은

0
points

이제까지 log4j를 서버관리용으로만 사용하고 있었는데...
디버깅은 콘솔에서 바로 확인할 수 있는 System.out에 손이 가는 건 왜 일까요.
그런데 asp는 서버상태를 확인할 수 있는 콘솔은 없는 것일까요...
asp는 왠지 손이 안가서...

익명 사용자의 이미지

디버깅은 디버깅 함수를 쓰는 것 뿐만이 아니라 처음부터 코드를 잘 짜

0
points

디버깅은 디버깅 함수를 쓰는 것 뿐만이
아니라 처음부터 코드를 잘 짜는 것도 중요합니다.
(1) IF (조건) {처리1} ELSE {처리2 리턴}

(2-1) IF (! 조건) {처리2 리턴}
(2-2) 처리1
로 표현을 바꾸어 코딩할 수 있습니다.
디버깅 뿐만 아니라 코드 읽기도 쉬워지죠.

(물론 반론이 있을 수도 있겠죠. 하지만 디버깅이 어려운
임베디드 기기에서는 생각외로 쓸만한 방법입니다.)

익명 사용자의 이미지

글쓴이께서는 음 예를 잘못든 것 같습니다. ^_^*그러나 말씀하신

0
points

글쓴이께서는 음 예를 잘못든 것 같습니다. ^_^*

그러나 말씀하신 것처럼 코드를 잘짜는 것은 아주 중요하다는데 한표던집니다.

깔끔한 알고리즘은 확실히 디버깅하는데 수월합니다.

게다가 소스를 보기 쉽게 잘정리하는 것 또한 중요하다고 생각합니다.

소스를 잘정리한다면 파악하기도 쉽겠지요.

게다가 주석은 아주 중요한 습관이라고 생각합니다. 심하다 싶을 정도로 상세하게 주석처리를 하는 것이 프로그래밍하는 당사자도 훨씬 더 정리된 자세로 프로그래밍을 할 수 있을 것이고 나중에 다른 프로그래머도 쉽게 이해할 수 있겠지요.

익명 사용자의 이미지

심하다 싶을 정도로 상세하게 주석처리를 하는 것은.. 정말 안 좋은

0
points

심하다 싶을 정도로 상세하게 주석처리를 하는 것
은.. 정말 안 좋은 코딩 습관이죠.. --;

중요 부분 빼고는 주석없이 이해할 수 있는 소스를 만들어야 되겠죠..

익명 사용자의 이미지

응 맞는디? 전 이렇게 쓰거든요.입구와 출구를 단일화 시키는 것에

0
points

응 맞는디? 전 이렇게 쓰거든요.

입구와 출구를 단일화 시키는 것에 원칙적으로
찬성하지만 에러 대응 코드가 많이 붙을 경우
차라리 단일 입구에 단일 출구 원칙 외에
에러에 대해서는 즉시 리턴을 원칙으로 코딩을
합니다.

저도 극악의 임베디드 환경에 오기전까지는
원론적 원칙을 지키고 살았습니다. ^^a

sharefeel의 이미지
1096
points

어떤 책에서 읽은 내용입니다.. (code complete였던거 같네요.

0
points

어떤 책에서 읽은 내용입니다.. (code complete였던거 같네요..)

가능하면 함수의 시작지점과 끝나는지점을 하나씩만 두어라..
라고 되어 있었던 거 같습니다..

요즘 저렇게 해보려고 하는데..
if (error) return error;
블라블라..;
return result;

if (error) ret = error;
else{
블라블라;ret = result;
return ret;

이렇게 짜고 있는데.. 오히려 더 산만한거 같다는 느낌도 드네요..
그리고 저렇게 짜면 에러체크가 많아지면 else의 nest된 깊이가 커져서..
어떻해서는 80칼럼 안쪽으로 맞추려는 제 의지를 꺾게 되더라구요..

그리고 쓸데없는 얘기지만.. code complete라는 책은 MS Press에서 나온책이져..--;;

익명 사용자의 이미지

> 그리고 저렇게 짜면 에러체크가 많아지면 else의 nest된 깊이가

0
points

> 그리고 저렇게 짜면 에러체크가 많아지면 else의 nest된 깊이가 커져서..

goto문을 쓰세요. goto를 금기시하는것이 프로그램의 법칙이지만
이런때 아래와 같이 사용하면 아주 좋습니다.

if (error) {
ret = error;
goto func_exit;
}
else if {
블라블라;
}
else{
블라블라;
ret = result;
goto func_exit;
}
블라블라;

func_exit:
return ret;

goto를 남발하면 문제겠지만 코드가 아주 길고 if문이 많은 경우
쓰는게 오히려 논리적으로 명확해지죠.

ihavnoid의 이미지
2675
points

음...저 같은 경우에는 error시 그냥 튕겨나가는 걸 선호합니다.

0
points

음...
저 같은 경우에는 error시 그냥 튕겨나가는 걸 선호합니다....
비정상적인 상황에서는 중간에 튕겨나가는 게 차라리 나을 듯 합니다....

어차피 더이상 실행하는 게 의미가 없는 상황이라면, 그냥 나가도록 하는 게 흐름 따라가기 편하더군요. 오히려 다중 if문 같은 건 정말 싫습니다. 이 if문의 else가 어디서 시작하나 눈에 잘 안 들어오더군요..

음... 예외적인 경우가 있다면... error시 뒷처리가 복잡한 경우(가령 file이나 자료구조를 cleanup해 줘야 한다던가)에는.. 좀 다른 방법을 모색하는 것도 좋을 듯 합니다.

저같은 경우에는 가끔씩 매크로도 쓴답니다-_-;;

익명 사용자의 이미지

그런 경우가 종종 있죠?함수 안에서 메모리를 할당받는다거나,

0
points

그런 경우가 종종 있죠?

함수 안에서 메모리를 할당받는다거나,
함수 안에서 파일을 열었는데 함수가 나가기 전에 닫아줘야 하는 경우,
Pro*C나 ESQL 같은 경우에 커서를 열었거나 하는 경우,
어떤 형태로 락을 걸었을 경우 등등
에 중간에 에러가 나면 나가기 전에 cleanup을 해줘야 하는 경우
이거 에러난 곳마다 중간에 나가려면 매번 비슷한 종류의 cleanup 코드가 중복되고, 코드가 변경될 때마다 그거 쫓아가서 추가해주고 수정해 주려면 상당히 귀찮더라고요. 매크로를 써서 긴 문장을 하나로 줄일 수는 있겠지만 장애 포인트 있는 곳마다 계속 중복된 코드가 보이는 것 상당히 신경쓰입니다.

그래서 저는 다른 분이 goto 문 쓰는 것 보고 저도 goto 문을 도입했습니다.
file열거나, lock걸거나, 메모리 할당 받을 때마다 flag변수를 설정하고,
중간에 에러가 나면 goto cleanup; 으로 가게 하는 겁니다.
cleanup 에서는 flag 변수들을 보고 닫아주거나 정리해 주어야 할 것이 있으면 닫아주는 것이죠. 리턴은 goto 로 cleanup쪽으로 오기전에 변수에 할당해 주고요, cleanup 루틴 마지막에 해당 변수를 리턴해줍니다.
정상처리될 경우도 cleanup을 해줘야 하니까 cleanup 쪽 루틴은 정상루틴도 그대로 타고요, 메모리 할당 같은경우에는 정상처리된 경우에는 caller에게 전달해야 하는 경우도 있으니까 cleanup 코드 중 어떤 것은 flag변수점검과 함께 정상처리여부도 점검하는 경우도 있습니다.
물론, 함수 앞쪽에서 장애가 발생하는 경우에는 필요없는 cleanup 검사도 있겠고, goto가 pipelining이나 instruction cache쪽에 안 좋을 수도 있겠지만, 그런 건 1초에 수백만번 이상 할 수 있는 일이라 마음 여유롭게 가지기로 했습니다.

assert를 많이 쓰세요.'여기서는 x 값이 음수는 아니겠군.'

0
points

assert를 많이 쓰세요.

'여기서는 x 값이 음수는 아니겠군.'
'여기까지 왔으면 p가 NULL이 아니라고 할 수 있겠다.'

이렇게 가정을 하는 것마다 assert로 표현할 수 있습니다. 그럼 그 가정이 어긋날 때 바로 알 수 있습니다.

또한 에러 처리 같은 것을, 나중에 하긴 해야 하지만 지금 당장은 귀찮고 재빨리 결과만 보고 싶을 때도 assert를 사용할 수 있습니다.

FILE *fp = fopen(filename, "r");
assert(fp);
...

이 때 에러 처리를 아예 생략해버리면 나중에 잊어버리기 쉬운데, assert를 써 두면 잊어버리지 않을 수 있습니다.

익명 사용자의 이미지

디버깅도 중요하지만 버그가 없는 프로그램을작성하는 것이 더 좋은 방법

0
points

디버깅도 중요하지만 버그가 없는 프로그램을
작성하는 것이 더 좋은 방법인 것 같네염.
아래 두 책은 모두 그러한 프로그램을 작성하는
방법에 관해 설명하고 있습니다.

Writing Solid Code.
Code Complete.

디버깅에 대한 직접적인 툴을 사용하는
설명이나 기타 방법에 대한 설명이 나와
있는 책은 아니지만 한번쯤 읽어보면 두고두고
도움이 될 것 같네염^^

익명 사용자의 이미지

감동적인 책들이었슴돠.한글판도 나와있슴돠.

0
points

감동적인 책들이었슴돠.
한글판도 나와있슴돠.

익명 사용자의 이미지

혹시 한글판 보셨나요?번역 상태가 어떤지 궁금합니다.

0
points

혹시 한글판 보셨나요?
번역 상태가 어떤지 궁금합니다.

익명 사용자의 이미지

Code Complete는 책이 두꺼운므로 소설책 읽듯이 가볍게 읽어

0
points

Code Complete는 책이 두꺼운므로
소설책 읽듯이 가볍게 읽어 내려가시기 바랍니다.
방법론을 알고만 있어도 언제라도 유용하게 다시
살펴보면 되니까요.

무겁게 읽고 싶다면 Refactoring가 있고요.
좀 철학적으로 써 놓아서 부담스럽더군요.
그만큼 미국쪽도 코드가 엉망이 되어 간다는 얘기일 수도
있고요 (미국쪽에서 팔거나 공개하는 소스 코드는 매우
깔끔하다는 것이 제 경험입니다)

글을 올린 학생입니다.가장 이해하기가 힘든 부분(디버깅 할 때)

0
points

글을 올린 학생입니다.

가장 이해하기가 힘든 부분(디버깅 할 때) 전처리기를 이용하시는 분들인데요.
어떻게 하는지 솔직하게 이해하기 힘듭니다.
공부를 할 때도, 전처리기가 이런 것이다 정도만 공부를 했고, 그렇게 몇년을 알고 프로그래밍을 해왔는데.
너무나 의아스럽습니다.

그렇다면, 전처리기를 이용해서 디버깅하는 책이나 웹사이트가 있나요?
아님, 숱한 경험을 통해서 프로그래밍의 테크닉에 진리가 되버린것인지 궁금하네요.

추신 : 카일릭스를 당나귀에서 얼마전에 다운로드를 했습니다. 거기에 볼랜드 C++이 있다는데,
거기 디버깅 툴을 이용해도 괜찮을 책 하나 부탁드립니다.
다른 얘기지만, 임베디드환경에 프로그래밍할 때 디버깅도 마찬가지 인가요??

물론, 프로그래밍의 테크닉을 책과 웹에만 의존 할 순 없지만, 저로서는 현재 어쩔 수가 없어서 그렇습니다.

그리고 아래, DDD를 추천하시는 분께 고마움을 전하구요...

익명 사용자의 이미지

저도 회사가서 전처리기를 알았습니다.한 이틀 지긋지긋하게 많은 컴파일

0
points

저도 회사가서 전처리기를 알았습니다.
한 이틀 지긋지긋하게 많은 컴파일 옵션 쳐다보니까
알겠더군요.
회사가서 공동작업하고, 디버깅하다보면 코드는 좀
엉망이 되도 디버깅 하기 좋은 형태를 익힐 수 있습니다.
너무 부담갖지 마세요.

익명 사용자의 이미지

전처리기를 이용한 디버깅은 특별할게 없습니다.아래 어떤 분처럼 deb

0
points

전처리기를 이용한 디버깅은 특별할게 없습니다.
아래 어떤 분처럼 debug 출력 code를 macro로 만들어서 debug 시에만 define하고 release 때는 undef 해버리는 방법도 있고 특정 code block을 ifdef나 if문을 사용해서 전처리하는 방법도 많이들 쓰지요.

제 경험으로는 가능하다면 macro로 쓰기보다는 debug 메시지 출력함수를 만들어서 쓰고 release 때는 막아버리는게 더 유용한 것 같습니다. 물론 메모리 문제가 있거나 time-critical한 임베디드나 리얼타임 시스템에서는 저도 macro를 씁니다만 일반적으로 볼때 macro는 bug prone 하고, 특히 공동작업을 하거나 규모가 큰 작업을 하게 되면 좀 귀찮습니다.

디버깅에 대해서는 아니지만 전처리기에 대한 설명은 프렌티스 홀에서 나온 C ARM(a refrence manual)에 보시면 잘 정리돼 있습니다. 이 책은 두루두루 c 프로그래머면 한번 봐둘만 합니다.

임베디드에서 디버깅은 경우의 수가 많지만 serial이나 이더넷 류의 통신이 가능하다면 gdb나 전용 모니터링 프로그램을 이용해서 디버깅을 할 수 있고. 최악의 경우에는 오실로스코프나 로직아날라이저를 이용해서 디버깅 해야합니다. 임베디드에 대해서는 오렐리에서 나온 임베디드프로그래밍 in c(?)를 권해드립니다. 정말 잘 썼더군요. 한빛에서 번역판도 나와있고 다 살펴본 건 아니지만 깔끔하게 잘 옮긴 것 같더군요.

쿠..쿨럭...로직 애널라이져 ㅡㅠㅡ있으면 너무너무 편한 장비이겠

0
points

쿠..쿨럭...
로직 애널라이져 ㅡㅠㅡ
있으면 너무너무 편한 장비이겠지만, 흑... 너무나 비싼 장비입니다.....
꿈도 못꾸어보고 스코프로 찍고, 포트로 날리고 하면서 디버깅하고 있습니다 ㅡㅜ

익명 사용자의 이미지

저도 딱 한 프로젝트에서 써봤습니다.쓸 필요 없었는데 너무너무 써보고

0
points

저도 딱 한 프로젝트에서 써봤습니다.
쓸 필요 없었는데 너무너무 써보고 싶어서 다른 팀꺼 슬쩍해와서 썼지요:)
사실 우리나라 실정에서 로직아날라이저가 필요하면 오실로 스코프 여러개 불여서 쓰는일이 더 흔 하겠죠. 저도 오실로 스코프 2 프르부짜리 두개 4프르브 짜리 하나 해서 써본 일이 있지요. 어마어마한 닭짓.

익명 사용자의 이미지

푸하하핳2 probe 두개랑 4 probe 하나랑 하면.

0
points

푸하하핳
2 probe 두개랑 4 probe 하나랑 하면...
그거 다 손으로 잡고 있을수도 없구...
걸어둘라면 tp 뽑아야 할텐데,
납땜하기 귀찬흐셨겠습니다 ㅋㅋㅋㅋ
게다가...
타이밍은 또... .. ㅋㅋㅋㅋ
수고하셨습니다 :)

------------
라키

익명 사용자의 이미지

컥 오실로 스코프라 ...오실로 스코프가 필요한 디버깅이 있다니

0
points

컥 오실로 스코프라 ...

오실로 스코프가 필요한 디버깅이 있다니 놀랍군요.

오실로를 써야 하는 디버깅은 얼마든지 있지요.음..KLDP 야 워

0
points

오실로를 써야 하는 디버깅은 얼마든지 있지요.

음..KLDP 야 워낙 고수분들이 많습니다만. 하드웨어쪽 프로그래밍에 익숙치 않은 분들을 위해서 좀 자세하게 쓰자면...

가장 흔한 것이 SoC (System on Chip : 칩안에 몽창 들어간 것.. 요즘 가장 흔한 것이 스트롱암) 류에서 특정 모듈(이를테면 LCD 컨트롤러)을 드라이빙 못 하고 있을 때.

제일 먼저 점검하는 것이. 리셋 시그널의 타이밍을 보고.
그 다음에 CS (칩 셀렉트) 를 보고.
그 다음에 RE, WE (읽기 쓰기 시작 신호)를 보고.
마지막으로 데이터/어드레스를 보지용.
아. 클럭이야 수시로 봐야죠 ^^;;

예를 들어 데이터 버스에서 데이터가 잘 안 나오는 것 같이 의심되는 상황이라 칩시다.

그럼 단순하기 포인터에다가 주소 지정해서 아무데나 억세스하게 해 놓구

while 로 무한루프를 돌린다음에 데이터버스 핀을 찍어보면. 파르르 떨겠죠?

어~ 그럼 신호는 일단 나오는 군! (정확한지는 몰라도) 기초적으로는 여기서부터시작됩니다.

이 뿐만 아니라.

인터럽트 핸들러나 타임 슬랏이 민감한 디버깅을 요할때는, 요즘은 jtag 장비가 좋다고는 하지만. (전 이런 고급디버깅에 약해서..)

GPIO 같은 걸로 하이/로우를 띄우는 것이 가장 쉬운 디버깅이지요.

GPIO 4비트면 2^4 = 16가지의 디버깅 코드를 찍을 수 있군요 ㅠ.ㅠ
근데 이것도 로직어날이 있으면 편하지만서도. 스코프로 볼라면 TP (스코프로 찍기 편하게 뽑아놓은 뽀인트) 가 잘뽑힌 레퍼런스 보드가 아니면 성가시죵.
특히 음주전후에는 ㅡ.ㅡ; 수전증환자라든지..ㅡ.ㅡ;;

OS 쪽과 관계되서도 디버깅 툴이 있는 것으로 알고 있습니다만.

쉽게 생각할때는. 요즘은 장비가 좋아서 컴팔도 빠르니까 ㅡ.ㅡ;

printk 처럼 GPIO 를 쓸 수도 있다는 것이지용.

익명 사용자의 이미지

그렇죠...많은 하드웨어 콘트롤에서는 특히나 요즘처럼 빠른 클럭과 많

0
points

그렇죠...
많은 하드웨어 콘트롤에서는 특히나 요즘처럼 빠른 클럭과 많은 32비트의 연속적인 데이타 통신에서는 스코프로 찍는 것이 한계가 있기 마련이죠.

타이밍을 이해한후에 적절할 레치를 잡아 원하는 타이밍을 잡아내려면 스코프로 찍는 것은 거의 불가능합니다.
그럴때 유용하게 쓰는 것이 로직 아날라이저죠.
얼마전 PCI버스를 통째로 잡아서 볼일이 있었는데... 그럴때 스코프로 잡는 것은 불가능하지 않습니까?

프로그램상에서 실수로 남긴 코드들이 있을때도 타이밍에서는 다 보이기 때문에 바로 바로 걸립니다.(사실 소프트웨어에서는 아날라이저로 찍어서 타이밍을 확인한다는 것은 완전히 속을 다 까 뒤집는 일이기 때문에 그리 반기지 않기도 합니다. 왜 혼자만 보고 싶죠??? ^^;;)

ihavnoid의 이미지
2675
points

그럼 있죠.. ^^어떤 하드웨어에서 serial을 작동시켜야 하는

0
points

그럼 있죠.. ^^

어떤 하드웨어에서 serial을 작동시켜야 하는데... 이상하게 클럭스피드에 맞는 divisor을 넣어도 제대로 작동을 안 해서.. 결국 공급되는 클럭을 의심하다가... 오실로를 이용해 봤는데요.. ^^

끙... 잘 모르는 다른데에 이유가 있는 듯.. -_-;
음... 프로그래밍하는데 오실로 써보기는 처음이었답니다-_-;;

익명 사용자의 이미지

간혹 저사양(?) 프로세서에서는 57600이상의 고속(-_-) 통신을 할

0
points

간혹 저사양(?) 프로세서에서는 57600이상의 고속(-_-) 통신을 할때 uart 쪽과는 전혀 상관 없는 레지스터에서 세팅을 해야하는 경우가 있습니다. 아예 divisor는 28800에 맞춰놓고 그 짓을 해야 한 적도 있는 듯하고...
8051이었나..
어떻게 된게 한번 하고나면 다 까먹는지...:(

그리고 임베디드 개발하면 오실로 스코프로 디버깅하는 일 비일비재 하지 않나요?
uart는 기능구현하느라 써버리고 led와 timer, 빈포트 몇개 가지고 디버깅할려면 오실로스코프 옆에 끼고 살아야죠.

익명 사용자의 이미지

UART 로 기능구현 하실 때HDLC 비스무리한 프로토콜을 사용하도록

0
points

UART 로 기능구현 하실 때
HDLC 비스무리한 프로토콜을 사용하도록 약간 상위 레벨에서
조정해서, 통신용 채널과
디버그용 채널을 나눠서 사용하도록 하시면
편하게 사용하실 수 있죠 ^^;;

디버그 메세지는 디버깅 채널로 보내고,
다른 모듈과 통신하는 것은 해당되는 채널로 하구요 ^^;;

코드 스페이스가 안된다면 할 수 없구요 -_-;;;

-----------------
라키

익명 사용자의 이미지

uart를 범용으로 쓰는 경우라면 말씀하신 방법이 매우 좋은 방법이라고

0
points

uart를 범용으로 쓰는 경우라면 말씀하신 방법이 매우 좋은 방법이라고 생각합니다.
하지만 uart를 범용으로 쓰는게 아니라 특정 모듈을 제어하기 위한 통신용으로 쓰고 있을 경우엔 말씀하신 방법은 좀 어렵지 않을까요.
신호야 점퍼를 날려서 받아본다 해도. 걔 나름의 프로토콜로 통신해야하는데 내가 임의로 정한 프로토콜을 써버리면 어찌 돌아갈지는 알 수 없으니까요.

아.. 하하 ^^;;네, 제어하고자 하는 특정 모듈의 펌웨어를 건드릴

0
points

아.. 하하 ^^;;
네, 제어하고자 하는 특정 모듈의 펌웨어를 건드릴 수 있는 경우엔 채널(?)을 나누는 것도 괜찮지만,
말씀하신것 처럼 그 모듈을 건드릴 수 없는 경우라면, 그렇죠 ^^;;;.. 당연히 말입니다.
^^;;

익명 사용자의 이미지

ARM은 Annotated Reference Manual의 준말 아닌가요

0
points

ARM은 Annotated Reference Manual의 준말 아닌가요.

익명 사용자의 이미지

아뇨. A Refrence Manual 맞습니다.물론 원작자에 따라서

0
points

아뇨. A Refrence Manual 맞습니다.
물론 원작자에 따라서는 advanced나 annotated를 쓰기도 하지만 이 책은 제목이 A Refrence Manual 입니다.

익명 사용자의 이미지

혹시 ARM을 Advanced Risc Machine로 읽는 분들도 계실

0
points

혹시 ARM을 Advanced Risc Machine로 읽는 분들도 계실듯 -_-;;

저요...... ㅡㅡ; -- Bookworm

0
points

저요...... ㅡㅡ;
--
Bookworm

coredump나 exit가 필요할 때에는 stdout 또는 stderr

0
points

coredump나 exit가 필요할 때에는 stdout 또는 stderr로 뽑습니다만, 계속 실행 중에 trace에 필요하면 화면에 나오는 내용하게 헷갈리더군요.

그래서 저는 syslog 쪽으로 뽑습니다. local0이나 local1으로 해놓고, 레벨을 잘 분류해 놓으면 좋더군요.
--
Bookworm

익명 사용자의 이미지

ddd 같은 툴을 사용하는 것이 가장 좋은 방법이라고 생각되지만, 경우에

0
points

ddd 같은 툴을 사용하는 것이 가장 좋은 방법이라고 생각되지만, 경우에 따라서는 툴을 사용할 수 없는 여건도 있지요. 그럴땐 역시 많은 디버깅 메시지를 출력하도록 하는 것이.
아래는 제가 사용하는 메시지 출력 매크로입니다.

#define DMSG(n, msgs...) \
do { if( (n) & debug_mask ) \
sprintf( debug_message_buffer, msgs ), \
fprintf(debug_messageg_file, "[%04x] %s:%4d: %s: %s\n", \
n, __FILE__, __LINE__, __FUNCTION__, \
debug_message_buffer ); } while(0)

음... 제 개인적인 생각은...툴은 언제라도 배울수 있습니다.

0
points

음... 제 개인적인 생각은...
툴은 언제라도 배울수 있습니다.

툴로 디버깅 하는 것은 좀 나중에 하시고....

지금은 머리로 하십시요.
잘만 활용하면 가장 좋은 디버깅 툴임니다.

툴에 익숙해지면... 정작 중요한 것을 놓칠수 있습니다...

JBuilder에 익숙해져 Java를 까먹은 바보가...^^*
--
늘...

익명 사용자의 이미지

디버깅을 잘하는 방법이라..C 프로그램을 짤때..(A B

0
points

디버깅을 잘하는 방법이라..

C 프로그램을 짤때..

(A B C)

(A-1, A-2, A-3, A-4 )

(B-1, B-2, B-3 )

(C-1, C-2 )

(A-1-1, A-1-2, A-1-3 )

......

하여간 이렇게 모듈화를 하는 쪽이 debug를 하기 좋으며

debug시에 편하도록 하기 위하여 모든 데이터는 될 수 있는데로 묶어서 사용 (이를테면 2개이상만 되면 무조건 structure안에, 그리고 많을 경우에 structure안의 structure로)

그리고 변수는 전역변수를 쓰지 말것..

그러면 체크하기가 아주 쉬워집니다.

그리고 모든 함수들은 에러와 성공으로 나누어서 리턴값을 받고.. 그 결과값에 대한 처리를 다 해주면.. 모든 함수들이 연결이 되죠.. 에러일 경우에..

디버그를 할때 제일 중요한 것은 따라다닌다는 것인데.. 이렇게 모듈을 계층형으로 만들어놓고 성공실패를 따라가다보면.. 자연스럽게 나오죠..

그리고 에러시에는 로그를 남기고요..

제 로그찍는 방법은
:프로세서번호:시간:에러모듈이름:에러코드 및 에러 메시지:

그리고 debug를 할때.. 코드를 다 짜놓고 하는 사람인 경우, 소스가 클 때... 아예 debug option을 만들어 쓰는 것입니다.

$program debugmode

이렇게 debugmode라는 형태로 구동이 될때..
debugmode 값을 셋팅하고, 그럴 경우에 따라가면서 출력하는 루틴을 넣어두면 그쪽은 다 프린터가 되죠..

이런 경우에는 debugmode를 안쓰면 아무것도 표시가 안되죠..

그리고 또 한가지 방법은 소스안에 define으로 정의를 하는 방법..

#define DEBUGMODE

#ifdef DEBUGMODE
printf("A");
#endif

이렇게 쓰는 경우도 있습니다.
위에 DEBUGMODE를 셋팅 안하면 거기에 해당하는 것들은 무시가 되는..

하여간 여러가지 방법이 있습니다만.. 제일 좋은 방법은.. 모듈화에 계층화를 성공하는 방법이라 생각합니다. 머 시간이 없다면 어쩔 수 없지만..
이 계통에서 계속 살아 남으려면 그래도 라이브러리루 쓸 수 있는 것을 편집하면서 살아야 하지 않을까요?

gdb는 제약사항이 많기 때문에 embeded쪽이나 단순 프로세서를 디버깅 할 경우에는 괜찮기는 하지만.. 정확하지 않습니다. 특히 메모리에 관한 버그는..

툴이란건 사용하면 사용할 수록 늘게 되어있습니다.주위에서 권하는 툴

0
points

툴이란건 사용하면 사용할 수록 늘게 되어있습니다.
주위에서 권하는 툴 몇개를 사용해본다음 자신과 궁합이 잘 맞는 툴을 장시간 계속해서 사용하면 툴 다루는 방법은 자연히 늘게 될것입니다.
(사실 툴은 환경에 종속적이므로 애써서 많이 공부해야할 수준이라면, 공부를 보류하는 것도 나쁘진 않습니다... ^^ 단발성 프로젝트나 작업을 위해 거대한(?) 툴을 익히는건 낭비도 될 수 있죠.)

일반적으로 통용되는 툴을 적용할 수 없는 경우도 생기기 때문에 (임베디드쪽에 이런 경우가 많죠), 평소에 올바른 프로그래밍 습관을 길러야하고, 잘된 프로그램을 많이 분석해보아야하고, 튼튼한 설계에 관해서 고민을 많이 해야합니다.

설계단에서 부터 원죄적인(?) 오류가 있다면, 그것은 어떤 툴이나 후처리(?)를 적용하더라도 작업이 진행된 만큼의 고통을 안겨줄 것입니다.

학부때 교수님 말씀이었는지 어디 책에서 읽었는지 잘 생각은 나지 않고, 원문도 생각나지 않지만 대충 다음과 같이 해석되었던 문장들이 생각나네요.

"벌레는 언저리(바운더리)에 많이 살고 있다."

"깨끗한 코드는 더러운 손에서 나온다."

多路