example.c의 라인 9와 같이 파일의 특정 라인 번호에서 시스템 호출을 이해하기 위해 strace 명령을 사용하고 싶습니다. 이 작업을 수행하는 방법을 아는 사람이 있나요?
답변1
strace 출력에서 쉽게 식별할 수 있는 이전 줄에서 작업을 수행합니다.
open ("/line8", O_RDONLY);
마찬가지로 다음 줄에도 뭔가 독특한 것이 있습니다. 그런 다음 -O0
컴파일러가 이러한 작업을 재배열하지 못하도록 컴파일합니다 .
답변2
당신은 그것보다 더 무거운 의무가 필요할 것입니다 strace
. gdb
Curses(또는curses 래퍼 버전)와 같은 디버거를 사용하면 상당히 쉽습니다 cgdb
.
example.c
시스템 호출을 직접 수행하면 뭔가 작동하도록 할 수 있습니다. 문제는 example.c
라이브러리와 시스템 호출을 수행하는 소스 간에 여러 수준의 호출이 있을 수 있다는 것입니다.