[GDB-Quick] 중단점 - 로그/소스

1739 단어 cppcgdb
디버깅의 경우 가장 확실한 시작 방법은 인쇄를 추가하는 것입니다. 두 번째 분명한 것은 중단점을 설정하고 인쇄하는 것입니다. 들리는 것처럼 간단하지만 다양한 아키텍처의 대규모 소프트웨어에서는 유용하지 않을 수 있습니다.

각 디버깅은 여러 번 실행할 수 있지만 효율적인 설정이 필요하므로 다음 포스트를 따르십시오.

미래를 위해 중단점을 저장하십시오.



명령을 사용하여 파일에 중단점을 저장합니다.

(gdb) save breakpoints bpt_file


신인 물건!
여기에 더 많은 것이 있습니다. 중단 점을 저장하는 적절한 시간은 무엇입니까? :피
시스템 수준 디버그의 경우 디버깅 흐름에 따라 로컬 중단점 파일을 생성하는 것이 효율적이며 때로는 여러 파일을 생성합니다.

이 저장은 gdb 명령과 유사하므로 텍스트 편집기에서 bpt_file을 편집해야 합니다.

기록에서 중단점 로드



bpt_file은 gdb 명령입니다. 명령줄이나 gdb에서 소스를 얻으면 작동합니다!

(gdb) source bpt_file


VIM 사용자의 경우



몇 번의 키 입력으로 file:line 또는 class::function과 같은 중단점 설명을 작성하지 않아도 됩니다. VIM에서 KeyMap을 할당하여 bpt_file에 현재 file:line_num을 기록합니다.

break file:line


이제 VimScript가 이를 수행하는 것은

function! Brkpt(message, file)
  new
  setlocal buftype=nofile bufhidden=hide noswapfile nobuflisted
  put=a:message
  execute 'w ' a:file
  q
endfun

function! BrkLog(fileName,lineNum)
  let msg = 'break' .a:fileName . ':' . a:lineNum
  echo msg
  call Brkpt(msg,'~/gdb.txt')
endfun


내용을 brk.vim 파일에 복사하고 vim의 소스를 복사합니다. 키 입력 시 이 함수를 호출합니다.

:nomap <C-G> :call BrkLog(expand('%:t'),line('.'))


마지막 중단점을 소싱하는 동안 로드되지 않은 라이브러리는 기본 오류가 발생한 다음

(gdb) set breakpoint pending on


해피 해킹!

좋은 웹페이지 즐겨찾기