본문 바로가기

Linux11

[VSCode] VSCode 디버깅 시 이진 데이터 변환 매크로 1. 개요개발 관련해서 VSCode로 디버깅 시에 이진 데이터(Hex String)를 확인하고 비교해야하는 작업이 자주 있습니다.Hex String 값을 1바이트(2개 문자) 단위로 "0x"와 ","를 붙여서 가공해야 하는데, 일일이 하는게 귀찮아서 vscode의 확장을 사용하여 매크로를 만들어서 처리하는 것을 정리하였습니다.예) 01020A1FED -> 0x01, 0x02, 0x0A, 0x1F, 0xED 변환2. 확장 프로그램 설치매크로를 만들어서 사용하기 위해 설치해야 하는 확장 프로그램입니다.multi-command 확장 설치VSCode 디버깅 시 이진 데이터 보기로 볼수 있는 hex string 값을 복사하면 Base64 인코딩 된 값이 복사 되므로 이를 다시 Hex String 으로 변환하기 위.. 2024. 10. 25.
[C/C++] stat(2), lstat(2), fstat(2) 파일 정보 확인 함수 사용법 stat(2), lstat(2), fstat(2) 함수 원형 #include #include #include int stat(const char *pathname, struct stat *statbuf); int lstat(const char *pathname, struct stat *statbuf); int fstat(int fd, struct stat *statbuf); 파일 이름 또는 파일 디스크립터를 입력으로 받아 해당 파일의 정보를 얻는 함수입니다. man 페이지에서 확인하기 위해선 "man 2 stat"을 사용해야 stat(2) 내용을 확인할 수 있습니다. stat() : symbolic link 파일을 입력으로 받으면 원본 파일의 정보를 확일할 수 있습니다. lstat() : symbolic.. 2024. 3. 11.
[C/C++] mkdir(2) 디렉터리 생성 함수 사용법 mkdir(2) 함수 원형 #include #include int mkdir(const char *pathname, mode_t mode);​ pathname의 이름으로 디렉터리를 생성합니다. 중간 디렉터리가 생성되어 있지 않으면 오류가 발생합니다. ex) "/test" 디렉터리 하위에 test1/test2 디렉터리를 생성하려는 경우 mkdir("test/test1/test2", 0755); : 오류 mkdir("test/test1", 0755); mkdir("test/test1/test2", 0755); : 성공 man 페이지에서 확인하기 위해선 "man 2 mkdir"을 사용해야 mkdir(2) 내용을 확인할 수 있습니다. "man mkdir"을 사용하여 mkdir(1) 내용을 확인합니다. 매개변수 .. 2024. 3. 8.
[VSCode] VSCode Remote-SSH 원격 빌드 및 디버깅 1. 개요tasks.json과 launch.json 파일 설정하여 원격 빌드 및 디버깅에 대한 내용을 정리합니다.tasks.json 파일에 명령을 정의하여 Makefile을 빌드하도록 합니다.launch.json 파일에 명령을 정의하여 빌드된 실행 파일을 실행 및 디버깅을 하도록 합니다.2. 빌드를 위한 tasks.json 파일 설정vscode에서 remote-ssh로 linux에 원격 접속 후 소스 파일을 엽니다.소스 파일을 연 상태에서 최초 빌드 실행 단축키(ctrl + shift + B)를 입력하면 다음과 같이 팝업이 등장합니다."C/C++: g++ 활성 파일 빌드에서 왼쪽 설정 버튼을 클릭하면 default tasks.json 파일을 생성합니다.default로 설정된 상태에서 빌드를 진행하면 해당.. 2024. 3. 1.
[WSL] WSL2에서 Systemd 사용하기 1. 개요 WSL2 로 Ubuntu 22.04/20.04 를 사용하고 있는데, 기본적으로 WSL을 사용하면 init을 사용합니다. 최신 Linux 시스템의 경우에는 init이 아닌 systemd를 사용합니다. init 인 경우 service 명령어를 사용하고, systemd의 경우 systemctl 명령어를 사용합니다. init이 아닌 systemd를 사용하기 위해선 WSL2를 사용해야 하며, 몇 가지 확인해야 할 사항이 있습니다. 2. wsl.conf 파일 확인 Linux 배포판 실행 후 "/etc/wsl.conf" 파일을 확인합니다. # cat /etc/wsl.conf [boot] systemd=true​ Ubuntu 22.04/20.04 의 경우에 해당 파일의"systemd=true"로 되어 있지만.. 2024. 2. 29.