리눅스

포스트: 556|아이템:리눅스(554)
Tags

Posts

556 posts

[리눅스][디버깅] GDB로 깨진 콜 스택 복원하기(공유 라이브러리 로딩하는 방법)

Guillermo Austin Kim|2020년 6월 2일

리눅스 프로젝트를 개발하면 코어덤프(coredump)를 열어서 크래시가 발생한 원인을 분석할 때가 많습니다.많은 개발자 분들이 코어덤프를 열어서 크래시가 발생한 원인을 분석하죠. 코어덤프를 열어 gdb를 사용해 디버깅할 때 가장 짜증나는 것 중 하나는 공유 라이브러리를 제대로 로딩하지 못해콜 스택이 보이지 않을 때 입니다. 이번에는 코어덤프를 로딩할 때 필요한 정보 중 하나인 공유 라이브러리의 정보(패스/이름)을 확인하는 방법을 소개합니다. 깨진 콜 스택 확인하기 먼저 콜 스택을 보겠습니다. (gdb) bt#0 0x0000007f7def1808 in __glibc_raise (sig=sig@entry=6) at /usr/glibc/raise.c:1354#1 0x0000007f7def2d80 in

귀여운 휴대용 리눅스 PC, 팝콘 리눅스 PC(Popcorn Linux PC)

리눅스는 마치 오래 전 소개팅으로 만나 몇 번 데이트했던 누군가와 비슷합니다. 써본 적도 있고,크게 불만이 있지는 않았지만, 어느새 윈도에 밀려 잊혀지고, 스마트폰에 밀려 다시 연락할 기회도 없게 되고, 언제 한 번 깔아봐야지-했더니, 요즘 나오는 PC나 노트북은 죄다 윈도 10만 깔 수 있습니다(...). 언제 한 번 다시 써보고 싶긴 한데 쓸 기회가 전무했던(하지만 다르게 진화한 리눅스 커널 기반 안드로이드는 매일 쓰는), 데스크탑 리눅스를 간단히 써볼 수 있는 PC가 나올 예정입니다. 이거 뭐랄까, 노트북은 아닌데, 휴대용이긴 합니다. 모니터도 키보드도 달리긴 했지만, 뭐랄까... 아하하. 예, 출시 예정인 리눅스 모바일 PC, 팝콘 리눅스 PC입니다. 중국 심천에

도커(Docker) 이미지를 다른 PC에 옮기기

반달가면|2020년 5월 12일

현재 PC에서 사용중인 도커(Docker) 이미지를 tar 파일로 저장해서 다른 PC로 옮길 수 있다. docker save 명령을 사용하면 된다. 예를 들어 도커 이미지 "ubuntu"를 ubuntu.docker_img.tar 파일로 저장하려면 터미널창에서 아래와 같이 작업할 수 있다. # 도커 이미지 목록 확인 sudo docker images # "ubuntu" 이미지를 ubuntu.docker_img.tar 파일로 저장 (docker save) sudo docker save -o ubuntu.docker_img.tar ubuntu 해당 tar 파일을 다른 PC로 옮긴 후, docker load 명령으로 tar 파일에 저장된 이미지를 추가하면 된다. # tar 파일에 저장된

도커(Docker) 컨테이너에서 변경한 사항을 다른 이미지로 저장하기

반달가면|2020년 4월 29일

도커(Docker) 이미지(image)를 실행하면 컨테이너(container)가 생성된다. 이미지를 실행한 후에 이런 저런 작업을 해서 변경할 경우 컨테이너의 내용이 변경되는 것이고 이미지는 변경되지 않는다. (컨테이너가 종료되면 변경사항은 모두 사라진다) 예를 들어 ubuntu 이미지를 실행하고 vim 에디터를 설치하는 상황을 가정해 보자. # 이미지 목록 확인 sudo docker images # ubuntu 이미지 실행(-it 옵션, bash 사용) sudo docker run -it ubuntu 위와 같이 실행하면 ubuntu 이미지로부터 컨테이너가 생성되고, -it 옵션을 주었기 때문에 bash 명령 프롬프트를 통해 컨테이너에 접속된다. 이제 이 상태에서 아래와 같이 입력해