[리눅스] GDB 프로그램 사용 위치 파악: 'which -a'
By Guillermo Austin Kim | 2020년 6월 4일 |
gdb와 같은 프로그램이 설치된 경로를 확인하고 싶을 때가 있습니다.이 때 다음 명령어를 사용하면 됩니다. 'which -a' 아래는 터미널에서 'which -a' 명령어를 사용한 예시입니다. baldcandy:#/etc$ which -a gdb-multiarch/usr/bin/gdb-multiarch gdb-multiarch가 '/usr/bin/gdb-multiarch' 에 위치해 있군요. 이번에는 gdb 프로그램의 위치를 확인해보겠습니다. baldcandy:#/etc$ which -a gdb/usr/bin/gdb gdb가 '/usr/bin/gdb' 에 위치해 있군요. ---"이 포스팅이 유익하다고 생각되시면 공감 혹은 댓글로 응원해주시면 감사하겠습니다. "혹시 궁금한 점이 있으면 댓글로 질
[Kernel][Debug] 런큐에서 CFS 스케쥴러에 큐잉된 프로세스 찾기
By Guillermo Austin Kim | 2018년 4월 26일 |
런큐에 CFS 스케쥴러로 큐잉된 상태로 기다리는 프로세스 목록은 어디서 찾을 수 있을까요?per-cpu 타입의 runqueues.cfs_tasks 멤버를 찾으면 됩니다. 다음은 CPU4 runqueue의 예시입니다. (struct rq *) [-] (struct rq*)(((void*)&runqueues)+__per_cpu_offset[4]) = 0xFFFFFFC73E0F2900 -> ( (raw_spinlock_t) [D:0xFFFFFFC73E0F2900] lock = ((arch_spinlock_t) [D:0xFFFFFFC73E0F2900] raw_lock = ((u16) [D:0xFFFF (unsigned int) [D:0xFFFFFFC73E0F2918] nr_running
[라즈베리파이] 커널 타이머 - 동적 타이머 실행 코드
By Guillermo Austin Kim | 2018년 8월 8일 |
동적 타이머를 초기화만 하면 동적 타이머를 쓸 수 없습니다. 동적 타이머를 실행해야 합니다. 이를 위해 add_timer()/add_timer_on() 이나 mod_timer() 함수에 적절한 인자를 채워 호출해야 합니다. 보통 add_timer() 함수를 써서 동적 타이머를 실행하며 이후 동적 타이머 만료 시간을 다시 설정한 후 동적 타이머를 실행시킬 때 mod_timer() 함수를 씁니다. add_timer()와 mod_timer() 함수를 써서 로컬 타이머를 설정하는 코드를 살펴보겠습니다. 먼저 라즈비안에서 로컬 타이머를 실행하는 코드를 봅시다.1 bool bcm2835_sdhost_send_command(struct bcm2835_host *host,2 struct mmc_command
[임베디드] 강력한 꼰대 개발자가 되는 방법(1)
By Guillermo Austin Kim | 2020년 4월 5일 |
'꼰대 개발자가 되는 방법'이란 주제로 2개 포스팅을 올린 후 많은 개발자의 피드백을 받았습니다. [임베디드] 꼰대 개발자가 되는 방법(1) [임베디드] 꼰대 개발자가 되는 방법(2) 그 중 제가 생각하는 '꼰대 개발자'에게 이 글을 보여드리고 의견을 알려 달라고 부탁을 드렸습니다. 실제 꼰대 개발자들의 인터뷰를 한 내용을 바탕으로 '꼰대 개발자'가 되는 방법을 써야 좋은 글이 나오겠죠. 꼰대 개발자님께서 대부분 애정어린, 진심을 담은 후기를 주셨습니다. 그 내용을 잠깐 소개해드릴까요? * 글의 내용이 정말 부실하다. 넌 글을 정말 못 쓰는 구나! * 야, 꼰대 개발자가 되기 위한 조건이 맞는지 모르겠다. 조금 더 내용을 보강해야 할 것 같다. * 참, 글 쓰레기 같이 쓴다. 이게 뭐냐?