strace
-
ps명령어를 통하여 thread 정보를 확인하는 방법IT/DevOps 2011. 11. 18.
개발하는데 있어서 thread를 사용하는 경우가 많다. "나는 thread가 필요 없어!" 하는 분들도 한번쯤은 보면 나중에 우연히 만나게 될 때 조그마한 도움(빠른 원인분석등)이 될수 있다. ps 명령어를 사용하면 linux 시스템의 프로세스 정보들을 얻을 수 있다. 시스템을 운용하는 사람들에게 있어서도 유용히 사용되는 정보인데, 이러한 ps 명령어에서 해당 프로세스가 thread정보를 함께 출력하게 정보를 얻을 수 있다. ps -eLf | grep testsrv UID PID PPID LWP C NLWP STIME TTY TIME CMD root 2588 2587 2588 0 11 00:05 ? 00:00:07 ./testsrv root 2588 2587 2589 2 11 00:05 ? 00:23:1..
-
ltrace 도구IT/DevOps 2011. 6. 15.
ltrace명령어는 프로그램가 받은 시그널과 동적 라이브러리 호출에 대하여 trace가능한 도구이다.strace와 마찬가지로, 디버깅의 목적과 프로그램의 동작방식의 이해를 위한 도구로 사용된다. ※ 비슷한 명령어로 strace가 있다.. 비슷하지만 trace하려는 내용이 서로 다르다. strace는 시스템콜과 시그널을 trace하는 도구이며, ltrace는 동적라이브러리(유저레벨)와 시그널을 trace한다. 2011/06/12 - [IT Dictionary/Linux] - [Tool] strace man 명령어를 통해 ltrace에 대해 알아보도록 하자. morenice@ubuntu:~$ man ltrace NAME ltrace - A library call tracer SYNOPSIS ltrace [-..
-
strace 디버깅 도구IT/DevOps 2011. 6. 12.
strace란 시스템 콜 함수들과 시그널 처리에 대해서 트레이스할 수 있는 명령어입니다. 권한 오류 문제나, 시스템 자원 부족등의 실행오류가 나타날 때 불친절한 프로그램들은 결과를 보여주지 않지만, strace를 해보면 시스템 콜 함수들이 실패 할 때의 오류 원인들이 함께 나타나기 때문에 프로그램의 디버깅에 활용됩니다. 트레이스를 통하여 어떤 시스템 함수를 호출하고 시그널 처리되는지 볼수 있기 때문에 프로그램이 어떤 동작을 하는지 유추 할 수도 있다. man page를 보면 손쉽게 해당 명령어의 목적과 자세한 사용방법, 주의사항이 나온다.(잘 모르는게 나오면 일단 구글링이 아니라 man 명령어를 실행시키는 습관을 들이자) man strace NAME strace - trace system calls an..