IT/Tips 81

gdb 디비깅

출처 : http://psyoblade.egloos.com/2653919 gdb 를 통한 디버깅 따라하기 참고서적 : 유닉스 리눅스 프로그래밍 필수 유틸리티 : vi, make, gcc, gdb, cvs, rpm 1. 우선 컴파일 시에 디버깅 정보를 담아야 한다. gcc -g -o [프로그램명] [소스파일명] 디버깅 옵션인 -g 으로 컴파일하며, 최적화 옵션인 -O 은 주지 않도록 한다. 2. 실행방법 gdb [프로그램명] gdb [프로그램명] [core파일명] gdb [프로그램명] [실행중인프로세스pid] 3. 종료방법 q Ctrl + d 4. 소스 찾아가기 (list) l : main 함수를 기점으로 소스의 내용이 출력된다 l 10 : 10 행 주변의 소스가 출력되는데 10 - 5 행부터 10 + 5..

IT/Tips 2011.01.26

python 문자열 제어

참고 : http://creaplz.tistory.com/26 1. 시퀀스 자료형 : 문자열, 리스트, 튜플 1) 인덱싱(indexing) : [k] >>> s = 'abcdef' # 문자열 >>> l = [100, 200, 300] # 리스트 >>> s[0] # 참조 'a' >>> s[1] 'b' >>> s[-1] 'f' >>> l[1] 200 >>> l[1] = 900 # 치환 2) 슬라이싱(Slicing) : [s:t] >>> s = 'abcdef' >>> l = [100, 200, 300] >>> s[1:3] # 1번 위치와 3번 위치 사이를 나타냄 'bc' >>> s[1:] # 1부터 끝까지 'bcdef' >>> s[:] # 처음부터 끝까지 'abcdef' >>> s[-100:100] # 범위를..

IT/Tips 2010.11.23

gdb 반복문 for while

100 : for ( i = 0; i < 1000000; i++ ) { 101 : /* to do 1 */ 102 : /* to do 2 */ 103 : } 104 : /* to do 3 */ - for 반복문을 끝낸다. (gdb) util - for 반복문을 끝내고 /* to do 3 */ ( line number 104 )에서 멈춘다. (gdb) advance 104 - for 문에서 i 값에 조건을 걸어 조건이 만족하면 break point 에서 멈춘다. (gdb) break 101 (gdb) info b ... 2 breakpoint ...................: 101 ... (gdb) cond 2 i == 50000 - for 문에서 N번 발생하는 break point 를 무시하기 (g..

IT/Tips 2010.11.12

rpmbuild options and centos kernel source rpm build

보통 작업디렉토리가 위치하는 곳은 /usr/src 이고, /etc/rpmrc 파일에서 바꿔줄수 있다고 한다. > yum install rpm-build redhat-rpm-config unifdef > cd > mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} > echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros - kernel download find the kernel source rpm * http://mirror.centos.org/centos/5/updates/SRPMS/ (Current Updates/SRPMS) * http://mirror.centos.org/centos/5/os/SRPMS/ (Current ..

IT/Tips 2010.11.10

database 용어

데이터베이스 관리 시스템 (DBMS, Database Management System) 데이터베이스에서 데이터 조작, 저장, 검색, 보안 및 통합을 제어하는 프로그램이다. 데이터베이스 사용자(Database User) 조직 내에서 구축된 데이터베이스를 사용하는 데이터베이스 관리자, 시스템 프로그램 작성자, 업무 분석가, 응용 프로그램 작성자, 일반 사용자의 총칭이다. 데이터베이스 관리자 (DBA, Database Administrator) 데이터베이스를 가장 좋은 상태로 관리하는 책임을 지는 개인 또는 집단이다. 데이터베이스 스키마(Database Schema) 데이터베이스 관리 시스템에서 데이터 구조와 그 표현법의 기술을 수용한 파일이다. 외부 스키마(External Schema) 실제로 이용자가 취급..

IT/Tips 2010.09.29

linux 패키지 설명

APM_Install-tools-1.0-1 Apache, PHP, MySQL 다양한 버전 최적화 설치툴 MAKEDEV-3.15-2 /dev 디렉토리에 속한 장치 파일들을 작성하는 데 쓰이는 프로그램 ORBit2-2.12.0-3 고성능 CORBA Object Request Broker SULinux-release-1-0 SULinux 릴리즈 노트 등. SysVinit-2.85-34.3 기초 시스템 프로세스를 관리하는 프로그램 acl-2.2.23-5 접근 제어 목록 유틸리티. acpid-1.0.3-2 ACPI 이벤트 데몬 anacron-2.3-32 크론(cron)처럼 시스템이 다운 되었을때에도 작업을 계속 실행할 수 있게 하는 프로그램. apmd-3.0.2-24 Advanced Power Management..

IT/Tips 2010.06.10

ubuntu setting

1. C 함수 man 페이지 설치 sudo apt-get install manpages-dev 2. 한글 입력 설정 2.1 시스템 - 관리 - 언어 ... 한글 체크후 확인 버튼 2.2 패키지 수동 설치법 - scim-hangul 설치 sudo apt-get install scim-hangul - 한글 언어 팩 설치 sudo apt-get install language-pack-ko language-pack-gnome-ko language-pack-gnome-ko-base reboot - 기본 언어지원이 영문으로 설정되어 있는 경우 다음을 통하여 scim-hangul을 활성화 시킨다. im-switch -c 이후 scim-hangul을 선택한다. 3. 터미널 글꼴 변경 sudo apt-get instal..

IT/Tips 2010.06.07

find 팁

find에다가 -exec 옵션을 붙이면 무엇이든 할 수 있습니다. 확장자 일괄변경 find . -name *.php -exec rename .sas .mtml {} \; 파일내용 찾기 find . -type f -print | xargs egrep -i "expression" 파일내용 바꾸기 find . -name *.* -exec perl -p -i -e 's/old/new/g' {} \; 일괄삭제 find . -name *.bak -exec rm -rf {} \; find ./ -print | xargs grep asdf $1 asdf 라는 문자가 들어간 파일 찾아서 뿌려주기 # find . -exec grep -l "문자열" {} \; -exec mv {} ./temp_dir \; 어떤 문자가 들어..

IT/Tips 2010.06.07

Linux Bonding 구성

출처 : http://community.plusonnet.co.kr/?p=16 1. Bonding 개요 => 본딩이란 여러개의 NIC를 논리적으로 하나로 묶어 NIC의 갯수만큼의 대역폭을 확장하는 기술이다. 예를들어 100Mbps NIC 두개를 묶어 200Mbps의 대역폭으로 구성 할 수 있다. 또한 NIC가 두개 이기 때문에 물리적인 경로또한 두개가 생긴다. 이것은 곧, 네트웍의 이중화라고 말할 수 있다. 하나의 NIC 장애시 남은 하나의 NIC로 통신이 가능하여 Fau lt Tolerance의 역할을 한다. 또한 두개의 경로에서 패킷을 적절히 분배할 수 있는 로드밸런싱 기능까지 구현할 수 있다. 2. 테스트 환경 - Machine : VMWARE - OS : CentOS 5.2 i386 2.6.18-..

IT/Tips 2010.03.19