Linux,  Programming

[Linux] GDB Variable 출력 형태 바꾸기 / C++ STL Print

GDB Variable Print Format 변경

GDB를 통해 debugging을 진행하다보면 변수를 출력하는 경우가 많다. 이 때 좀 더 눈에 읽히기 쉽도록 형태를 바꾸는 방법이 존재한다. Home 경로에 .gdbinit 파일에 설정을 해두면 된다.

set print pretty on
set print object on
set print static-members on
set print vtbl on
set print demangle on
set demangle-style gnu-v3
set print sevenbit-strings off

설정하게되면 다음 예시와 같이 들여쓰기를 포함해서 출력해준다.

(gdb) print p
$1 = {
  age_ = 10,
  gender_ = 77 'M',
  name_ = "Shumin",
  address_ = "South Korea"
}

C++ STL Object Print

아래 링크에 있는 .gdbinit 파일을 참조하면 쉽게 C++ STL object를 출력 할 수 있다.

https://github.com/shumin215/misc/blob/master/.gdbinit

Reference

  1. http://jason-heo.github.io/programming/2014/04/08/using-gdb-pretty-print.html
  2. https://gist.github.com/skyscribe/3978082

Leave a Reply

Your email address will not be published. Required fields are marked *