-
[Linux] uftrace 설치 및 사용법
C/C++ 프로그램 tracing을 위한 유용한 프로그램으로 김남형 님이 개발하셨다. 자세한 것은 reference 1번 github 주소를 참고 바란다. 1. Install 1.1 Source code download 1.2 Dependent library install 1.3 Source code build 위와 같이…
-
[Linux] strace 사용법
특정 프로그램의 system call과 signal을 추적하는데 활용되는 프로그램이다. 1. 사용법 반드시 옵션이 명령어 또는 실행파일 보다 먼저 와야한다. 2. Options strace엔 많은 option들이 존재한다. Options Description -s strace를 통해 추적할 때 화면 혹은…
-
[Linux] strace Terminal Session 붙이기
strace를 통해 system call tracing을 할 때 실시간으로 특정 session을 붙여서 확인 가능하다. Session PID 얻기 우선 tracing 하고자하는 session PID를 얻는다. Strace 수행 그리고 또 다른 session을 열어 해당 PID를 물려서 strace를…
-
[Linux] strace
System call tracing을 하는데 사용하는 linux utility다. 특히 error log가 부족할 때 사용한다. ENOENT Example 위 프로그램을 실행시켰을 때 정상적으로 된지 안된지 출력이 되지 않는다. 이 때 strace를 사용하면 보다 쉽게 확인 가능하다.…
-
[Linux] ptrace
Linux, unix 환경에서 process debugging에 사용되는 함수다. 특정 Process의 Register 정보 얻기 특정 process의 register 정보를 ptrace 함수를 통해 얻을 수 있다. 위 코드들은 우선 loop.c 프로세스를 무한히 실행시킬 때 해당 process를 attach하고,…
-
[Linux] NASM 사용법
다른 운영체제에서 assembly code를 작성해서 수행하기 위한 assembler 중 하나인 NASM가 있다. 설치 사용법 Skeleton 기본적으로 C drive code와 본문이 있다.아래와 같이 asm_main function을 호출하는 구조를 C drive code라고 부르는데, 처음부터 모든 부분을…
-
[Linux] Ubuntu (64-Bit) 에 32-Bit Library Install
64-bit OS에 32-bit library를 pakage manager를 통해 설치하고자 했는데 다음과 같은 error가 발생했다. 이를 위해서 다음과 같은 설정이 필요하다. 그리고 각종 32-bit library를 설치하니 정상적으로 설치됐다. Reference https://techlog.gurucat.net/322
-
[C++] undefined reference to template
C++ programming을 하다보면 build 중 다음과 같은 error를 쉽게 겪을 수 있다. 기본적으로 C++에선 source file에선 template 형태의 함수를 가질 수 없다고 한다. Example 위와 같이 header와 source file을 분리해서 사용하고자 했는데, linking…
-
[Python] Coding Convention (PEP 8)
각 언어별로 coding guideline이 조금씩 다르다. 되도록이면 이 guideline을 지키면서 프로그램을 작성하면 추후에 다른 사람들이 봤을 때도 가독성이 높아질 것이다. 자세하게 설명하기 전에 요약하면 다음과 같다. Module과 package 이름은 짧고 lower_case_with_underscore 다른 모듈에서…
-
[Git] 로컬 저장소에 Branch를 다른 원격 저장소의 다른 이름의 Branch로 Push
위와 같이 사용하면 local 저장소에 있는 branch 1을 원격 저장소 remote에 있는 branch 2로 push 할 수 있다.