본문 바로가기

전체 글156

[gdb] GNU 디버거 디버깅을 할 때에 가장 많이 쓰는 전술은 printf() 문을 추가하는 방법이다. 장점- 누구나 처음에 취할 수 있는 전술이다. 단점- 실행파일만 있고 소스가 없다면, 혹은 소스가 있지만 새로 컴파일 할 수 없다면 이 전술을 사용할 수 없다. - 시간이 오래 걸린다. gdb 명령gdb 실행 가능 파일 명령을 사용해 gdb로 응용 프로그램 디버깅을 시작한다. 먼저 gdb는 실행 파일 심볼을 로드한다. 그런 다음 프롬프트를 표시해 디버거를 사용할 수 있음을 알린다. gdb로 프로세스 보는 방법1. 실행중인 프로세스를 보러면 attach 명령을 사용한다. 이 명령은 프로세스를 중지한다.2. 프로그램을 시작하려면 run 명령을 사용한다.3. 이미 존재하는 코어 파일을 살펴, 프로세스가 충돌하거나 죽은 시점의 상.. 2016. 3. 9.
[linux] cut cutremove sections from each line of files파일에서 지정한 라인의 필드를 자르는 명령이다. cut -f[필드번호] [파일명] 필드의 나눔은 DEFAULT로 TAB이다. [software-craftsman]# cat file1 컵2 물티슈3 노트북4 달력5 지갑6 헤드폰7 책상8 전화기9 모니터10 가습기 [software-craftsman]# cut -f2 file컵물티슈노트북달력지갑헤드폰책상전화기모니터가습기 [software-craftsman]# cut -f1 file12345678910 -d 옵션: delimiter를 설정할 수 있다.ex) cut -d' ' -f1 file => 띄어쓰기로 delimiter를 할 수 있다. [software-craftsman]# cat.. 2016. 2. 22.
[Virtual Box] Drive 변경 이번 포스팅은 Virtaul Box의 Drive 변경하는 방법이다. VM을 사용하다 보면 아래와 같이 C드라이브가 꽉.....!! 차는 일이 발생한다. Snapshot을 많이 찍어놓는다든지 하면, C드라이브에 공간은 점점 사라지게 된다. 그렇다면, C드라이브보다 여유가 많은 D드라이브 혹은 새로운 HDD를 붙였을 때 어떻게 옮길까? 기존 VM을 "파일 => 가상 시스템 내보내기"를 이용하여 내보낸다. 다음은 가상 시스템을 가져올 때 만들어놓을 기본 폴더를 지정한다."파일 => 환경 설정"을 이용하여 기본 머신 폴더를 앞으로 사용할 폴더로 바꾼다.D:\VM 으로 설정했다. 이제, 내보냈던 가상 시스템을 "파일 => 가상 시스템 가져오기"를 이용하여 가져온다. 환경 설정에서 D드라이브의 VM 폴더로 설정한대.. 2016. 2. 9.
[linux] awk awk awk는 Alfred Aho, Pater Weinberger, Brian Kernighan 세명이 만들었다. 이 세 명의 이니셜 하나씩을 가져와서 awk로 명명했다. [프로그래밍 형식] awk는 패턴과 액션을 작은 따옴표로 둘러싸서 입력하며, 입력파일을 입력한다. 입력파일을 넣지 않을시에는 입력파일 대신 표준입력(stdin)으로 받는다. 1. 파일 입력 Note awk ‘pattern’ filename awk ‘{action}’ filename awk ‘pattern {action}’ filename '/패턴/' : 패턴과 일치하는 줄을 출력한다. '{print $1}' : 공백으로 나눠진 필드의 첫번째($1)를 출력 test_file 소프트웨어 1234 1111 장인 5678 2222 정신 90.. 2016. 1. 27.
[linux command] xxd wireshark 같은 프로그램을 보게 되면 hex로 된 string과 그냥 string 등으로 view를 바꿀 수 있다. linux에서는 xxd라는 명령어로 hex와 일반 string을 변경할 수 있다. xxd - make a hexdump or do the reverse. [예시]fileGET / HTTP/1.1Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*Accept-Language: ko-KR.. 2016. 1. 21.
[bash script] log_viewer.sh [log_viewer.sh의 목적] 로그들만 모아놓은 파일 source.txt와 로그 내용이 담겨있는 log_list.h 에 있는 내용을 합쳐서 보여주자. [예시] input file : source.txt mc.cpp MC_LOG( LOG_INFO, "information" ); mc.cpp MC_LOG( LOG_INFO, MC_001 ); data file : log_list.h #define MC_001 "THIS IS BASH SCRIPT." output ./log_viewer.sh -f source.txt -s "LOG_INFO," f option - input file name input file : source.txt s option - search string searh_str : LOG_.. 2016. 1. 19.
vi에서 마우스(Mouse) 사용하기 & vimrc 수정(단축키로 설정키고 끄기) vi를 사용하게 되면 유용한 팁! 마우스로 소스코드를 긁으면서 다니고 싶다!!?? 한글문서 같이 마우스 휠로 돌리면서 페이지를 보고 싶다!?? 창 분할된 vi를 + 로 옮겨다니기 귀찮다!?? 이 모든 것을 마우스로 할 수 있다!! 명령어는 다음과 같다 :set mouse=a 이 명령을 사용하면 마우스를 클릭하는 부분에 커서가 가게 된다. 해제시에는 다음 명령어를 입력하면 된다. :set mouse-=a 다음과 같은 기능을 썼다가 풀었다 하기에는 너무 귀찮으니 vimrc에 등록을 하자 우선 자기 피씨에 vimrc를 킨다. ex) vi ~/.vimrc 이 파일에 다음과 같이 쓰면 간단한 키로 설정할 수 있다. map :set mouse=a map :set mouse-=a 이 두 줄을 써 놓고 vi를 다시 키.. 2016. 1. 9.
Mac OS 스크린샷 찍기 Macbook Air를 쓸 때 필요한 스크린샷 단축키에 대해 알아보겠다. + + : 전체 화면 캡쳐 + + : 화면 선택 영역 캡쳐 + + + : 선택된 윈도우 캡쳐 ( 카메라 모양 표시 ) 일반적으로 바탕화면에 + + 의 이름으로 저장된다. 2016. 1. 8.