일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 칼국수
- 리눅스
- 노트북 배터리 교체
- whatis
- thread pid
- xshell4
- C
- 껍질없는
- hostkeyalgorithms
- 디버깅
- 다수 클라이언트
- ubuntu
- 인화여고
- Listen
- 옛날 탕수육
- gdb tip
- core file
- vcore
- ubuntu22.04
- 괌여행
- 괌
- 출력
- IPv6
- 노트북 정보
- linux
- 인천
- host key
- kdumo
- vi
- spacse
- Today
- Total
목록C (3)
극히 개인적이고 극히 대단하지 않은
Multithread program을 작성하고 버그를 잡다보면 thread의 pid를 알아야 간지러운 곳이 해결되는 경우가 있다. 특히 gdb를 이용해서 디버깅을 하는 경우에 아쉬울 때가 많다. 그런 경우에는 thread 내부에서 다음과 같은 코드를 수행하면 자신 thread의 pid를 알 수 있다. syscall(__NR_gettid) 예를 들어 다음과 같이 코딩을 하면 thread 이름과 pid를 확보할 수 있다. #include #include #include void *sample_thread (void *arg) { ... printf ("Thread Information :: [%s][%d]\n", __func__, syscall(__NR_gettid)); ... pthread_exit (NU..
C로 프로그램을 작성하고 시험을 하다보면 수없이 많은 core 파일을 만나게 되는 경우가 있다. core 파일은 개발자 입장에서 별로 만나고 싶지 않은 파일이긴 하지만, 정상적으로 동작하지 않는 프로그램과 긴긴 시간을 씨름할 때에 있어서 core 파일은 때로는 사막에서 오아시스를 만나듯이 반가운 경우도 있다. core파일을 얼마나 능수능란하게 다루고 요긴한 명령들을 조합해서 잘 쓰는가에 따라 core파일은 개발자에게 문제를 해결할 수 있는 명쾌하고 직관적인 정보를 주기도 하지만, 그렇지 않은 경우에는 문제점에 더불어 해결해야 할 숙제를 하나 더 떠안은 것 같은 부담으로 작용할 수도 있다. core파이을 분석하기 위해 다양한 명령어를 쓰지만, 흔히 쓰지 않으면서도 알고 있으면 도움이 될만한 명령을 소개한다..
일반적으로 시각정보를 얻기위해 gettimeofday, time, localtime 등의 함수를 많이 쓰게 되는데, 이 함수들은 기본적으로 과거의 특정시점(1970년 1월1일 0시)을 기준으로 시간 값을 얻어오기 때문에, 두 시점의 시간 간격을 측정하여 동작을 하는 프로그램에 있어서 시각이 변경되면 절대적 시간 간격을 측정할 수가 없게되고 이로 인하여 원하지 않는 오류가 발생할 수 있다. 예를 들어 사용자의 사용시간에 따라 과금을 하는 프로그램이 있는데, 사용자는 1시간을 사용을 했지만, 사용시간 중에 시각을 30분 앞으로 당겼다면, 이 사용자는 30분만 사용한 것으로 과금이 될 것이다. 이런 오류를 극복하기 위하여 clock_gettime 함수를 사용하면 된다. clock_gettime의 prototy..