반응형

1. joinc 사이트

   https://www.joinc.co.kr/w/Site/system_programing/Book_LSP/ch07_Thread

- https://www.slideshare.net/jacking/multithread

- http://knight76.tistory.com/entry/20010117546

- http://it.plusblog.co.kr/220985528418

반응형

1. 동작중인 프로세스 디버깅 실행방법

 

-    "gdb [프로세스 경로를 포함한 파일명 ] [프로세스 번호]"를 입력한다.

-    디버깅하고자 하는 프로그램이 동작이 되지 않으면 "continue"를 입력한다.

 

#gdb /root/kkk 134

...

어쩌구 저쩌구..

...

..

(gdb) continue

 

 

2. 죽는 위치 확인

- bt를 입력하면 segment fault 발생한 위치를 보여줌

- list를 입력하면 segment fault 발생한 소스 파일을 알려줌

- printf 변수명을 입력하면 변수의 값을 출력할 수 있음

 

(gdb)bt

...

어쩌구 저쩌구..

...

..

 

(gdb)list

- 위치 메시지 출력

 

(gdb) printf "%p" pointer
- printf와 동일함.

- 죽은 위치에서 유효한 변수만 출력됨.

 

 

 

3. 도움말

-    help 명령어 입력하면 명령어 도움말을 볼 수 있음

 

(gdb) help printf
printf "printf format string", arg1, arg2, arg3, ..., argn
This is useful for formatted output in user-defined commands.

 

 

https://brunch.co.kr/@alden/13

 

gdb를 이용해 메모리 덤프 뜨기

Linux Performance | 이번 글에서는 gdb를 이용해 메모리 덤프를 생성하는 방법을 살펴보겠습니다. 사실 많이 활용되지는 않지만, 메모리 관련된 이슈가 있을 때 사용하면 꽤 많은 도움을 받을 수 있기

brunch.co.kr

https://sonseungha.tistory.com/454

 

[gdb] The GNU Debugger : 3. Stack 정보 분석하기

스택은 현재 프로세스가 실행 중인 코드가 어디인지 확인할 수 있기에 매우 중요한 정보라고 할 수 있습니다. gdb에서는 종료되지 않은 함수를 하나의 frame이라고 합니다. 각 프레임은 스택에 쌓

sonseungha.tistory.com

https://jeonjun930.tistory.com/21

 

디버거 GDB 사용법

1. 디버거 사용법: GDB (콘솔상에서 사용하는 디버거) - bug : 프로그램에 존재하는 잠재적인 오류 - de-bugging : 버그를 찾는 행위 - de-bugger : 버그를 찾는데 도와주는 도구 일반 사용자 shell(user)가 메

jeonjun930.tistory.com

https://bpsecblog.wordpress.com/2016/04/04/gdb_memory_2/

 

우리집에 GDB 있는데… 메모리 보고갈래?(2)

season 1. 우리집에 GDB 있는데… 메모리 보고 갈래?(2) Day #2. 애프터 신청 (너 gdb 사용법, 갖고싶다.. 너란 stack )   in09@ubuntu:~/bpsecblog/day2$ gcc -fno-stack-protector -o tomato tomato.c -fno-stack-protector 옵션을 포

bpsecblog.wordpress.com

https://htst.tistory.com/66

 

변수의 메모리 배치 확인 및 GDB 사용법

변수의 메모리 배치 확인 및 GDB 사용법에 대해서 ■ 사용시스템 HackMe(ID/PASS: level9/apple) 1. 변수의 메모리 배치 변수의 메모리 배치를 확인하기 위해서 프로그램을 만들어 보자. [level9@ftz level9]$ ls.

htst.tistory.com

http://psyoblade.egloos.com/2653919

 

gdb 를 통한 디버깅 따라하기

 

psyoblade.egloos.com

http://egloos.zum.com/psyoblade/v/2653919

 

gdb 를 통한 디버깅 따라하기

참고서적 : 유닉스 리눅스 프로그래밍 필수 유틸리티 : vi, make, gcc, gdb, cvs, rpm1. 우선 컴파일 시에 디버깅 정보를 담아야 한다. gcc -g -o [프로그램명] [소스파일명] 디버깅 옵션인 -g 으로 컴파일하

egloos.zum.com

https://blog.daum.net/yesiam1/48

 

리눅스 컴파일 과정과 gcc 옵션, 그리고 라이브러리 만들기

gcc 컴파일 과정 1) 전처리 단계   소스파일=file.c -> (전처리=cpp) -> 전처리된 파일=file.i   전처리기(cpp) = gcc 의 가장 먼저 작동됨, cpp는 소스 파일의 #include #define으로 시작되는 전처리기 부분..

blog.daum.net

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=cronuskim&logNo=40044981841

 

메모리 누수 탐지, 디버깅 방법 정리

출처: http://wiki.liebmona.net/wiki.php/%EB%A9%94%EB%AA%A8%EB%A6%AC%EB%88%84%EC%88%...

blog.naver.com

https://terrorjang.tistory.com/5

 

gdb 기초 사용법

gdb를 사용해야 할 일이 많아서 내가 사용하기에 맞게끔 정리를 해야겠다 인터넷을 뒤지다 보면 컴파일할때부터 gcc -g 옵션을 가지고 컴파일한 파일 위주로 설명이 되어 있다 나는 그렇게 컴파일

terrorjang.tistory.com

https://m.blog.naver.com/wwwkasa/221214943293

 

리눅스 디버거 gdb 사용법

먼저 gdb 사용시 가장 자주 사용하는 명령어를 요약 정리하고 아래쪽에서 실제 샘플 프로그램을 작성후 디...

blog.naver.com

https://blog.naver.com/so_ojin0914/222212181012

 

[디바이스 드라이버 Ⅰ] GDB 디버거

GDB란? - GDB는 GNU에서 만든 매우 강력한 디버거이다. - GDB는 CLI(명령라인 인터페이스)...

blog.naver.com

 

'OS > LINUX' 카테고리의 다른 글

리눅스 로그 표시 제거  (0) 2018.01.03
리눅스 라이브러리 생성(동적,정적)  (0) 2017.10.12
리눅스 폴더 복사 이동 삭제  (0) 2017.03.21
리눅스 명령어  (0) 2016.10.13
find, grep 사용법  (0) 2016.08.12
반응형
출처: http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90%EC%84%9C_%ED%8F%B4%EB%8D%94_%ED%86%B5%EC%A7%B8%EB%A1%9C_%EB%B3%B5%EC%82%AC%ED%95%98%EA%B8%B0
 
리눅스 폴더 복사
리눅스 폴더 전체 복사
리눅스에서 폴더 통째로 복사하기
유닉스 계통에서 폴더 통째로 복사하기


[복사]

  • 원본폴더를 통째로(즉 하위폴더 및 파일들을 포함하여) 목적지폴더로 복사할 수 있다.
  • 상황에 따라 하위로 복사되거나, 폴더명이 바뀌며 복사된다.
  • 목적지폴더가 원본폴더의 상위폴더가 될 것인지, 아니면 원본폴더의 다른이름이 될 것인지는 상황에 따라 다르므로 주의가 필요하다.
  • 맨뒤에 '/'를 붙이든 말든 결과에는 상관이 없다. ★

[명령어]
cp -r 원본폴더 목적지폴더
cp -r 원본폴더 목적지폴더/
cp -r 원본폴더/ 목적지폴더
cp -r 원본폴더/ 목적지폴더/
[예시]
cp -r a /test/b
cp -r a /test/b/
cp -r a/ /test/b
cp -r a/ /test/b/
  • /test 폴더가 없으면 오류.
  • /test/b 폴더가 없으면 a폴더를 test폴더 아래에 b라는 이름으로 복사. => /test/b
  • /test/b 폴더가 있으면 a폴더를 b폴더 아래에 복사. => /test/b/a


[이동]


폴더 전체를 다른 폴더로 이동하기

  • 복사와 마찬가지로 상위폴더가 될 것인지 다른 이름이 될 것인지는 상황에 따라 다르다.

[명령어]
mv 원본폴더 목적지폴더
mv 원본폴더 목적지폴더/
mv 원본폴더/ 목적지폴더
mv 원본폴더/ 목적지폴더/
[예시]
mv -r a /test/b
mv -r a /test/b/
mv -r a/ /test/b
mv -r a/ /test/b/
  • /test 폴더가 없으면 오류.
  • /test/b 폴더가 없으면 a폴더를 test폴더 아래에 b라는 이름으로 이동. => /test/b
  • /test/b 폴더가 있으면 a폴더를 b폴더 아래로 이동. => /test/b/a


[삭제]


폴더 전체를 삭제하기


[명령어]

rm -rf 폴더
[예시]
rm -rf /test/b


'OS > LINUX' 카테고리의 다른 글

리눅스 라이브러리 생성(동적,정적)  (0) 2017.10.12
GDB 사용법  (0) 2017.06.30
리눅스 명령어  (0) 2016.10.13
find, grep 사용법  (0) 2016.08.12
특정 파일만 삭제  (0) 2016.07.07

+ Recent posts