
- 2019/07/14 22:28
- rousalome.egloos.com/10000397
- 덧글수 : 6

핑백
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: current_thread_info() 매크로 함수 분석 2019-09-08 11:48:29 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: current 매크로란 2019-09-08 11:48:52 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.9 프로세스 컨택스트 정보는 어떻게 저장할까? 2019-09-08 11:49:46 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: struct thread_info 구조체 소개 2019-09-08 11:50:34 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.7.5 프로세스 실행 시각 정보 2019-09-08 11:51:12 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.7.3 프로세스 간 관계/4.7.4 프로세스 연결 리스트 2019-09-08 11:51:48 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.7.1 프로세스를 식별하는 멤버/ 4.7.2 프로세스 상태 저장 2019-09-08 11:52:10 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: do_exit() 함수 분석 2019-09-08 11:52:49 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.6.1 _do_fork() 함수/ 4.6.2 copy_process() 함수 2019-09-08 11:53:11 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.5 커널 스레드 2019-09-08 11:53:41 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.4.2 부모 자식 프로세스 생성 실습 및 ftrace 로그 분석 2019-09-08 11:54:19 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 기본 유저 레벨 프로세스 실행 실습 및 ftrace 로그 분석 2019-09-08 12:01:03 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.3.3 커널 프로세스 생성 시 do_fork() 함수 흐름 2019-09-08 12:02:05 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.3.2 유저 레벨 프로세스 생성 시 _do_fork() 함수 흐름 2019-09-08 12:02:28 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : [리눅스 커널] 프로세스: 유저 모드와 커널 모드란 2019-09-08 12:02:43 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: do_fork() 함수 소개 2019-09-08 12:03:06 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.2 프로세스 확인하기 2019-09-08 12:03:21 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : 4.1 프로세스 소개 2019-09-08 12:03:37 #
... bsp; current_thread_info()프로세스 디버깅 glibc fork 함수 gdb 디버깅 유저 프로그램 실행 추적 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] thread_info 구조체의 preempt_count - 인터럽트 컨텍스트 실행 저장 2020-03-01 17:20:20 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: struct thread_info 구조체 주소 위치는 어디일까? 2020-03-01 17:28:22 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 커널 스레드는 어떻게 생성할까? 2020-03-01 17:35:40 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: thread_info 구조체 초기화 코드 분석 2020-03-02 00:22:18 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: thread_info 구조체 - cpu 필드에 대한 상세 분석 2020-03-02 00:24:12 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] thread_info 구조체의 preempt_count - 선점 스케줄링 여부 확인 2020-03-02 00:26:05 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] thread_info 구조체의 preempt_count - Soft IRQ 컨텍스트 실행 2020-03-02 00:27:21 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: do_task_dead() 함수 분석 2020-03-02 00:37:08 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 프로세스 종료 흐름 파악 2020-03-02 00:40:42 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 커널 스레드란? 2020-03-02 00:42:37 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 태스크란 2020-04-11 18:19:42 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 스레드란? 2020-04-11 18:22:27 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: ftrace에서 프로세스 확인하기 2020-04-19 09:00:07 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: copy_process() 함수 분석 2020-04-25 18:39:42 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: wake_up_new_task() 함수 분석 2020-04-25 18:40:04 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 태스크 디스크립터(task_struct 구조체) - 프로세스 연결 리스트 2020-04-26 09:54:07 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 태스크 디스크립터(task_struct 구조체) - 프로세스 상태 2020-04-26 09:54:35 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: do_task_dead() 함수를 호출하고 난 후의 동작 2020-04-26 09:55:32 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: thread_info 구조체란? 2020-07-19 09:51:24 #
... 깅 * glibc의 fork() 함수를 gdb로 디버깅하기 * 리눅스 유틸리티 프로그램을 이용한 실행 추적 "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" Thank ... more
덧글
-
잔망스러운 얼음집 2020/09/11 15:38 # 답글
아래와 같이 filter 지정시에 invalid argument 라고 뜹니다.
무엇이 문제 일까요?
root@raspberrypi:/home/pi/test # echo sys_clone do_exit search_binary_handler copy_process.part.5 > /sys/kernel/debug/tracing/set_ftrace_filter
bash: echo: write error: Invalid argument -
AustinKim 2020/09/11 18:58 #
copy_process() 함수는 static 타입이라 컴파일러가 심벌 이름에 라벨링을 해 copy_process.part.5 혹은 copy_process.part.3 로 심벌을 생성합니다.
다음과 같이 지정해보시겠어요?
echo sys_clone do_exit search_binary_handler copy_process* > /sys/kernel/debug/tracing/set_ftrace_filter
copy_process.part.5 이름을 copy_process* 바꿔서 지정하면 됩니다.
참고로 copy_process 함수 끝 부분에 *기호를 붙히면 copy_process 이름의 심벌에 해당하는 함수를 모두
/sys/kernel/debug/tracing/set_ftrace_filter 에 지정합니다. -
공부중입니다. 2020/12/21 20:38 # 삭제 답글
안녕하세요. 지금 다른 보드, 안드로이드로 이 책을 적용 시켜가면서 공부 중입니다.
arm64 기반의 보드인지라 크로스 컴파일을 하여 실행시켜 보고자 하였는데 . 안드로이드라서 그런건지 실행이 안되더라구요. 그래서 ndk로 빌드하여 실행파일을 사용하여서 ftrace 로그를 보는 중입니다.
지금 여러개의 궁금한 점이 생겼는데
1. 저는 태스크 이름이 <...> 이런 것이 생겼습니다. 한두개가 아니고 좀 많습니다. pid를 보면 태스크 이름이 유추가 가능한데 <...>라는 게 왜 나오는 지 아시나요? 단순히 의미없이 이렇게 나오는 건 아니지 않을 까 해서 여쭤 봅니다.
2. 태스크이름이 sh pid는 6803이라고 나오다가 갑자기 태스크이름이 raspbian_proc pid가 6803으로 바뀌더라구요. 중간에 do_exit 이런것도 없이. 혹시 이것은 제가 do_exit을 trace 지정안해서그런건지 한 번 확인해 보겠습니다.
3. 저는 ftrace 로그가 5초정도에 5만줄 정도 나옵니다 . 정상인것일까요?
4. 혹시 ndk로 빌드한 실행파일로 ftrace를 한다면 ftrace로그 값이 많이 다르게 나올까요? (저는 책하고 다르게 stack trace가 거의 안 나옵니다.)
너무 뭉뜽그려서 질문드려서 죄송합니다. 저도 사실 아직 이해가 되지 않는 부분이 많아 제가 뭘 모르고 뭘 질문해야 할지 어려워서 책을 열심히 봐보려고 노력중입니다. 감사합니다 -
AustinKim 2020/12/21 21:01 #
문의 주신 내용에 대해 답신 드립니다.
1. 네, 맞습니다. 원래 available_filter_functions 파일에 있는 함수 심벌(copy_process.isra.62.part.63)로 등록하면 됩니다.
2. 아래 언급하신 ftrace 로그를 제 이메일로 보내주실 수 있나요?
'태스크이름이 sh pid는 6803이라고 나오다가 갑자기 태스크이름이 raspbian_proc pid가 6803으로 바뀌더라구요'
이메일 주소: austindh.kim@gmail.com
메일을 주시면 ftrace 메시지를 보고 블로그에 분석 내용을 포스팅해 드리겠습니다.
감사합니다. -
AustinKim 2020/12/21 21:03 #
메일로 주실 때는 ftrace 로그의 용량이 클 지 모르니, 되도록 압축해서 보내주세요.
감사합니다. -
공부중입니다. 2020/12/21 20:43 # 삭제 답글
5. available_filter_functions에서 저는 copy_process라는 것이 없고 copy_process.isra.62.part.63라는 것만 있어서 바꾸어서 sh 스크립트를 만들었는데요. 맞게 한 것 일까요?
최근 덧글