리눅스 5

리눅스 개발자를 위한 디버깅 기법 ④

내부를 들어다 보는 창인 ‘/proc 파일 시스템’ 분석 박재호 책임연구원 / 디비코 [ 입력 : 2006-06-01 오전 11:32:48 | 지면발행 : 2006년 6월호 98쪽] 하이버스(주) 트레이닝 킷, XScale Board, SoC Board, Wireless Sensor Network Board, 에뮬레이터(Emulator), StrongArm Board, Daughter Board 커널 내부 상태를 살펴보면 좋겠다는 생각이 들 때가 있다. 특정 디바이스를 연결했는데 정말 제대로 커널에서 인식했는지 확인하고 싶거나, 응용 프로그램을 띄운 상태에서 현재 시스템 메모리 상태를 확인하고 싶은 경우가 대표적이다. 물론 여러 가지 다양한 명령어를 사용해서 이런 정보를 얻을 수 있지만, 그렇다면 이 명..

리눅스 개발자를 위한 디버깅 기법 ③

커널 웁스, kdb와 kgdb 박재호 책임연구원 [ 입력 : 2006-05-02 오전 11:04:47 | 지면발행 : 2006년 5월호 86쪽] 유니맥스정보시스템(주) 15년간 고객과 함께 해 온 임베디드솔루션 전문기업 커널 디버거를 사용하느냐 마느냐에 대해서는 개발자마다 생각이 다르다. 리눅스 커널의 아버지라고 부르는 리누스 토발즈는 개발자를 게으르게 만드는 커널 디버거에 대해 아주 부정적이므로 자신이 커널 개발을 주도하는 동안에는 절대로 리눅스 주류 커널에 디버깅 기능을 넣지 않으리라고 이야기했다. 반면에 JFS 파일 시스템 개발자인 스티브 베스트는 커널 디버거가 없었다면 JFS 이식 과정에서 무척 고생했을 것이라고 말한다. 그렇다면 어느 장단에 춤을 춰야 할까? 평범한 커널 개발자라면 분명히 커널 ..

리눅스 개발자를 위한 디버깅 기법 ②

코어 파일, gdb와 gdbserver 박재호 [ 입력 : 2006-04-04 오후 5:45:56 | 지면발행 : 2006년 4월호 76쪽] 부트윈 BW-1st Product - Low cost Product (STB, POS, Medical, Game, DVR) Mini-ITX Solution, Fast IDE Flash, Embedded System Develop 대화식 디버거가 존재하지 않던 시절에는 콘솔 출력이나 UART 출력으로 필요한 값을 화면에 뿌려서 문제 위치를 파악하는 방법을 주로 많이 사용했었다. 물론 요즘도 디버거를 사용할 수 없는 환경에서 여전히 이런 방법을 동원하기도 하지만, 생산성을 높이기 위해서는 대화식 디버거를 사용해야 한다. 대화식 디버거는 원시 코드를 보면서 프로그램을 추..

리눅스 개발자를 위한 디버깅 기법 ①

리눅스 디버깅 개괄 http://www.embeddedworld.co.kr/article/view.asp?article_idx=7347&selBLOCK=1&selPAGE=1 박재호 [ 입력 : 2006-03-06 오후 3:16:06 | 지면발행 : 2006년 3월호 124쪽] 마이크로칩 전자기술의 모든 것 - 마이크로칩으로 시작하십시오 개발자가 제일 싫어하는 작업 세 가지로 첫째는 문서화작업, 둘째는 (자신이나 남이 작성한 코드) 디버깅, 셋째는 남의 코드 읽는 작업을 꼽을 수 있다. 개발자가 이런 작업을 싫어하는 이유는 단순하다. 실제로 자신이 프로그램을 작성하는 즐거움에서 멀어져 있기 때문이다. 디버깅은 버그 추적 과정 내내 상당한 인내심을 요할 뿐더러 투자한 시간 대비 성능이 떨어진다. 하지만 소프..

동방에 굴러다니던 Linux 명령어 모음집

ls 디렉토리 목록보기 - ls -al 숨은 파일까지 정렬된 형태로 보기 - cd dir - dir 디렉토리로 이동 cd 디렉토리로 이동 - home pwd 현재 위치한 디렉토리 보여주기 - mkdir dir - dir라는 디렉토리 만들기 rm file - file을지우기 rm -r dir - dir 디렉토리를 지우기 rm -f file 강제로 - file 삭제 rm -rf dir - dir 디렉토리와 디렉토리 아래에 있는 모든 파 일삭제 cp file1 file2 - file1을 file2라는 이름으로 복사 cp -r dir1 dir2 - dir1 디렉토리에 있는 것들을 dir2 디렉 토리로 복사; dir2가존재하지않는다면만듬 mv file1 file2 - file1을 file2로이름을바꾸거나옮김, f..