Thread-Specific Breakpoints


프로그램을 디버깅 할 때 멀티 쓰레드로 동작하는 경우 애를 먹는 경우가 많다.

나는 test_method에서 디버깅을 시작했는데 다른 스레드에서 다시 test_method를 만나는 경우가 대표적일 것이다.

혹은 특정 함수 조건에서 break를 걸고 한참 뒤의 함수에서 멈추고 싶은 경우 특정 thread에 대해서 만 break를 걸어야 한다.


그럴 때는 다음과 같은 방법을 사용하자.


break linespec thread threadno

break linespec thread threadno if …


'linux > gdb' 카테고리의 다른 글

GDB 소스코드 보기  (0) 2014.07.09

리눅스 쉘에서 작업을 하다 보면 출력물을 파일로 저장해서 보고 싶을 때가 있다.

그럴 때 사용하는 것이 파일 redirection인데 다음과 같이 사용할 수 있다.

make -j 4 > ~/log.txt

위와 같이 꺽쇠(>)를 이용하면 make하면서 출력 되는 결과를 ~/log.txt 파일에 저장할 수 있다.

그런데 이렇게 되면 쉘 화면은 멈춰있고 작업이 어느 정도 진행되는지 모를 때도 있다.

그럴 때 사용 하는 방법!

make -j 4 2>&1 | tee ~/log.txt

위와 같이 2>&1 | tee 라고 해주면 쉘 화면과 파일에 동시에 출력이 된다.

위에서 2 이 것은 stdio, stderr를 동시에 출력하는 그런 건데 자세한 건 생략한다.

'linux > 기타등등' 카테고리의 다른 글

gcc 특정파일 옵션 설정.  (0) 2014.08.07
리눅스 무료 HTML5 편집기 Aptana  (0) 2014.08.02
이미지 편집 프로그램 김프  (0) 2014.08.02
java version 변경  (0) 2014.07.15
Sun/Oracle JDK 다운로드 및 설치  (0) 2014.07.09

vim 단축키. 출처는 그림 밑 쪽에 있으니 따로 적지 않아도 되겠지.


매크로 사용법:

1. qa 누르면 매크로 기록 상태로 들어감. 이 때 반복 적으로 하고자 하는 일을 수행.

2. 반복 적으로 하고자 하는 일이 끝나면 q를 눌러 매크로 기록 중지. 매크로 작업은 a에 저장됨.

3. 저장한 매크로를 사용하려면 @a 를 입력하면 끝.

특정 문자열을 가진 라인 전부 삭제:

:g/문자열/d

특정 문자열이 없는 라인 전부 삭제:

:v/문자열/d

출처는 기억이 나질 않는다.

+ Recent posts