CLion 4

gdbserver ptrace issue on Apple Silicon M1/M2

Docker's Multi-architecture support 애플 실리콘 칩을 기반으로 실행되는 macOS를 위한 'Docker Desktop For Mac'은 애플 실리콘 칩셋(이하 AArch64)에서 AMD64로 빌드된 이미지의 컨테이너 실행을 위해 Qemu 가상화를 사용한다. 'The Magic Behind the Scenes of Docker Desktop'와 4.1.3.0 Release note에서 관련 내용을 확인할 수 있다. 이 글은 이전 포스팅 'Full Remote Mode Of CLion With Docker'(이하 이전 포스팅 1번)와 'Remote Debug via GDB/gdbserver Of CLion With Docker'(이하 이전 포스팅 2번)에서 공유한 내용을 AArc..

Dev 2023.06.06

JetBrains의 IDE에서 북마크 정보 마이그레이션

노후 장비 교체 이슈로 신규 M2 맥북을 받았다. 매번 맥북을 교체할 때마다 애플의 '마이그레이션 지원' 기능으로 편하게 작업했었는데, 이번에는 인텔 칩셋 환경에서 애플 실리콘 환경으로 넘어가는 것이라서 수동으로 세팅하기로 했다. 사용하는 앱들 하나씩 확인해서 새로 설치하고 설정 Export 하고 Import 하고 한 땀 한 땀 작업했다. JetBrains의 IDE는 'Settings Sync'라는 좋은 기능이 있어서 매우 편하게 끝나는 줄 알았는데, Bookmarks 정보는 Sync에 미포함이다. 코드 내비게이션에 북마크를 애용하고 있어서, 이걸 모두 버리고 갈 수는 없었다. 구글링으로 찾은 아래 문서에서 IntelliJ의 'Bookmarks' 정보를 추출하는 방법에 대한 기본적인 정보를 찾았다. 참고..

Dev 2023.05.22

Remote Debug via GDB/gdbserver Of CLion With Docker

2023-06-06 추가: AArch64 환경에서 AMD64 바이너리를 디버깅할 때 발생하는 ptrace 이슈에 대한 내용을 정리했다. 이 글은 이전 포스팅에서 이어지는 내용이다. 전체 프로젝트는 여기에서 받을 수 있다. 이번에는 리모트 디버그에 대해서 정리할 것이다. 공식 문서에도 소개가 잘 되어 있지만, 이 문서를 보고 바로 따라하기에는 좀 어렵다. 여기서 정리할 내용이다. Docker Compose 설정 GDB 설정 Remote Debug via GDB/gdbserver Use Remote GDB Server Use GDB Remote Debug GDB Server로 Target Process를 실행 Target Process를 실행 후에 GDB Server를 해당 PID로 Attach Docker..

Dev 2020.05.07

Full Remote Mode Of CLion With Docker

게으름이 이렇게 무섭다. 이걸 포스팅하겠다고 메모해 놓은 지 반년이 지났다. (이렇게 밀린 메모가 더 있다는 건 비밀이다.) 서버 개발자로 일을 하다 보면 Linux 환경만 지원하는 서버를 유지보수 해야 할 수도 있다. 아마 epoll을 사용한 서버일 것이다. 어떤 개발 환경으로 세팅이 되어 있을지는 모르겠지만, 해당 서버에 직접 들어가서 vi로 작업을 하고 make로 빌드하고 gdb로 디버깅을 해도 된다. 또는, Docker로 같은 Linux로 개발 환경을 만들고 visual studio code를 리모트로 연동해도 된다. 방법은 다양하다. 하지만, 나는 에디터나 터미널에서 vi로 작업하고 make를 실행하고 git 커맨드를 직접 사용하는 진성 개발자가 아니다. 편리한 IDE를 선호한다. vi의 손맛을..

Dev 2020.04.14
반응형