[리눅스커널][디버깅] dump_stack() 함수
By Guillermo Austin Kim | 2019년 3월 13일 |
dump_stack() 함수 dump_stack() 함수는 콜스택을 커널 로그로 출력합니다. 커널 로그로 콜스택을 보고 싶은 코드에 삽입하면 됩니다. 이 함수를 호출하려면 C 코드 윗부분에 다음과 같이 "linux/kernel.h" 해더 파일을 추가해야 합니다. #include <linux/kernel.h> dump_stack() 함수 선언부를 봅시다.asmlinkage __visible void dump_stack(void); 인자와 반환값 타입이 모두 void입니다. 커널 소스 코드 어디든 dump_stack() 함수만 추가하면 됩니다. dump_stack() 함수로 커널 로그에서 콜스택 확인하기이번엔 dump_stack() 함수를 써서 커널 로그로 콜스택을 볼 수 있는 패치 코드를 소
버추얼박스의 리눅스 가상머신에서 게스트 확장 버전 확인/제거
By 반달가면 | 2020년 7월 10일 |
버추얼박스(VirtualBox) 가상머신으로 리눅스를 사용하고 있을 경우, 현재 설치되어 있는 게스트 확장(guest additions)의 버전을 확인하는 방법이다. 매우 간단하다. 게스트 확장을 설치하면 /opt 디렉토리 하위에 설치되므로 ls 명령으로 이 디렉토리에 있는 게스트 확장 디렉토리 명칭을 확인하면 된다. # 버추얼박스 게스트 확장 버전 확인 ls /opt 예를 들어 VBoxGuestAdditions-6.0.18 이런식으로 디렉토리 명칭이 나왔다면 버전 6.0.18이 설치되어 있는 것이다. 게스트 확장을 제거하려면 설치 디렉토리 안에 있는 uninstall.sh 스크립트를 루트(root) 권한으로 실행하면 된다. # 게스트 확장 제거 cd /opt/VBoxGu
[리눅스] 라즈베리 파이(라즈베리파이)란?
By Guillermo Austin Kim | 2019년 12월 22일 |
라즈베리 파이(Raspberry Pi)는 전 세계적으로 널리 쓰이는 리눅스 개발용 보드이자 소형 컴퓨터입니다. 설치 과정이 간단하고, 가격 대비 성능도 좋아 다양한 디바이스 드라이버를 구현하는 데 사용할 수 있습니다. 또한 교육용으로도 많이 쓰이며 실전 개발에서도 다양한 데모용 디바이스로 자주 활용되고 있습니다. 라즈베리 파이의 장점을 몇 가지 정리하면 다음과 같습니다. 막강한 커뮤니티 라즈베리 파이의 커뮤니티와 리소스는 막강합니다. 전 세계적으로 널리 쓰이므로 인터넷이나 유튜브에서 관련 자료를 쉽게 찾을 수 있습니다. 라즈베리 파이를 활용한 소스코드나 설정 방법도 인터넷에서 쉽게 찾아볼 수 있습니다. 저는 라즈베리 파이를 2018년 2월에 학교에 교수로 계신 선배를 통해 알게 됐습니다. 그분은 저에게
[bash: awk] awk에서 외부 명령을 실행하고 결과를 변수에 저장하기
By 반달가면 | 2016년 12월 20일 |
awk에서 문자열 작업을 할 때 외부 프로그램을 실행하는 방법이다. awk 자체적으로도 제공하는 다양한 함수 외에 외부 명령을 필요로 하는 상황에서 아주 요긴하다. 예시를 하나 생각해 보자. my_data.txt 파일을 읽어서 한 행마다 MD5 해쉬값을 구해야 하는 경우다. awk에는 MD5 해쉬를 계산해 주는 함수가 없으므로 리눅스에서 제공하는 md5sum을 이용해야 한다. 먼저 md5sum 예시를 보자면 아래와 같다. # 문자열 abc의 MD5해쉬값 계산 echo "abc" | md5sum 0bee89b07a248e27c83fc3d5951213c1 - md5sum의 출력이 "[MD5해쉬값] - [파일명]" 형태이므로 해쉬값만 취하려면 cut을 이용해서 -c 옵션으로 아래와 같이 앞쪽