gdb에서 소스 화일을 오픈하려는데..
글쓴이: armadillo / 작성시간: 토, 2012/11/17 - 3:16오후
반갑습니다.
gdb를 터미널 모드로 사용하려는데...
소스 윈도우에 다른 소스 화일을 어떻게 오픈하는지 알수가 없네요.
예를 들어 binary name은 main 이고, 소스화일들은
main.c : main이 있는 함수이고
init.c
process.c
위와 같이 세개로 구성된 프로그램인데, break point 를 process.c 에 있는 특정 함수에 걸려고 하는데
> gdb -tui main [enter] 하면
main.c가 source윈도우에 나오고, 아래 command window에 프롬프트가 있는데,
이때, source 윈도우에 process.c를 불러들여 소스를 보고 break point를 설정하려고하는데
어떻게 화일을 불러들이는지 알수가 없네요.
물론 다른 터미널이, 쉘로 잠시나가서 할수도 있겠지만, gdb내에서 그렇게 할수 있을거 같은데요..
메뉴얼을 찾아봐도 못찾아서 이렇게 질문드립니다.
혹 어디를 참조해야할지 알려주셔도 감사하겠습니다.
좋은 하루 되세요.
Forums:
오늘 GDB를 배웁니다.
원하시는 내용은
gcc -g -o run test1.c test2.c
gcc -tui run
list 파일명:함수명
list myfunc.c:say_hello
list main.c:main
이거 같습니다.
컴파일할때는 -g 옵션이 붙어야 TUI에서 디버깅이 가능합니다.
layout next를 통해. 화면 보기를 변경 가능하고.
함수 내부로 들어갈때는 s 로 들어갑니다.
//
소스 참고용
http://eram.tistory.com/1
//
라이브러리 만들기
http://blog.naver.com/space0215/30041008428
//샘플
gcc -o run hello.c myfunc.c
gdb -tui -c core linux
덤프떠서 보기
objdump -S linux > tmp.txt
http://cafe.naver.com/cppstl/699
info win
info b
list myfunc.c:say_hello
list main.c:main
http://coffeenix.net/doc/develop/gdb.html#SEC47
//윈도우에서 UNIX사용환경 만들기
http://blog.naver.com/raon_pgm/150034538211
//Make
http://wiki.kldp.org/KoreanDoc/html/gcc_and_make/gcc_and_make-3.html
//GDB 사용법
http://eram.tistory.com/1
http://blog.naver.com/hermet?Redirect=Log&logNo=88589788
http://www.viper.pe.kr/docs/gdb-manual.html
http://www.sangchul.kr/5069665
http://swarch.springnote.com/pages/6042259
http://blog.naver.com/dhan71?Redirect=Log&logNo=60169869996
http://www.sourceware.org/gdb/
http://psyoblade.egloos.com/2653919
http://www.gnu.org/software/gdb/documentation/
http://www.ibm.com/developerworks/kr/library/l-gdb/
http://web.eecs.umich.edu/~sugih/pointers/summary.html
http://kldp.org/node/71806
http://blog.daum.net/creazier/15309307
http://cafe.naver.com/linuxcare/27577
GDB TUI
http://rootfriend.tistory.com/406
http://www.oosoom.org/203
http://blog.naver.com/lithium81?Redirect=Log&logNo=80124382484
http://davis.lbl.gov/Manuals/GDB/gdb_21.html
TUI 보고 싶으면 컴파일 할때. -g 옵션을 주세요.
http://stackoverflow.com/questions/6642955/gdb-wont-run-in-tui-mode
GDB Multi Process
http://dol9.tistory.com/216
JICEGdbServer 로 GDB 디버깅 시작하기
http://cafe.naver.com/jice/157
GDB TUI Mac?
http://stackoverflow.com/questions/6612133/no-tui-support-for-gdb-on-mac
http://lists.apple.com/archives/Xcode-users/2009/Jul/msg00194.html
http://cgdb.github.com/
http://cgdb.sourceforge.net/screenshots.php
GDB 소스 컴파일하기
http://www.luuvish.org/9
GDB 솔라리스 64Bit
http://cafe.naver.com/xxxxgamexxxx/861
[VIM + GDB] gVim 디버깅 환경 clewn
http://mcchae.egloos.com/10941135
GDB 문제
http://kldp.org/node/123984
http://kldp.org/taxonomy/term/775
http://kldp.org/node/124713
Emacs Gdb Etags Cscope
http://wiki.kldp.org/wiki.php/EmacsGdbEtagsCscope
GDB Virtual Box 사용
http://kipple.egloos.com/4953117
GDB 원격사용
http://kldp.org/node/96441
GDB를 이용한 Core file의 분석
http://blog.naver.com/finnishmetal?Redirect=Log&logNo=20054963725
gdb [tip] -core file 사용 -
http://blog.naver.com/ikariksj?Redirect=Log&logNo=140037085121
[GDB] coredump file 생성하기
http://daeny2.tistory.com/21
디버깅 툴 - gdb 명령어 소개
http://cafe.naver.com/mcbugi/105886
[LINUX MEMORY LAYOUT]
http://blog.naver.com/hyunsung1026/80145224644
//기타.
extern "C" (심볼릭 링크와 list를 비교해보자)
http://blog.naver.com/hermet/87864741
http://blog.naver.com/hermet/91882549
GDB (색상 깊이값 비교)
http://blog.naver.com/freerf?Redirect=Log&logNo=33535392
리눅스 명령과 설명
http://cafe.naver.com/urnjfujt/6487
http://blog.naver.com/marine6309?Redirect=Log&logNo=100001795118
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
네... : 컴파일할때는 -g 옵션이 붙어야
네...
: 컴파일할때는 -g 옵션이 붙어야 TUI에서 디버깅이 가능합니다.
이 부분은 아래와 같이 약간 수정해야할거 같습니다.
디버깅을 하려면 디버깅 정보가 포함되도록 컴파일시에 -g 옵션을 주어야 한다.
그런데 결국은 tui모드에서 다른 화일을 보기위해 오픈하는 명령은 없다는 이야기로 보입니다.
즉 tui모드의 장점인 화일을 자유로이 왔다 갔다 할수 있다는 점인데,
그건 현재 디버거 아래서 프로그램이 수행되고있는것만 가능한거 같네요.
조금더 사용해보며 알아봐야 할거 같습니다.
댓글 감사합니다.
네. 저도 잘 몰라서;;;
하튼. 다른 파일을 불러오는건 잘 모르겠지만.
1. list로 파일 내용을 출력해주거나
2. s 로 그 함수 내부로 들어가는 방법등이
그와 비슷한 역할을 보여주는거 같습니다.
응용하면.
3. 원격 디버깅이 가능하다고 하니까요. 그 점도 가능해 보이고.
4. 콘솔을 두개 띄워서 확인해보는것도 가능해 보입니다.
- layout next로 어셈블리 화면을 같이 보여주는건 확인했습니다.
- frame이 비슷한걸지도 모른다는 생각이 들기도 하고... ㅡ_ㅡ;;;
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기