Superkkt Blog

Go native linker(6l)는 DWARF 디버깅 심볼을 바이너리에 넣어주기 때문에 gdb 7.x 이상에서는 디버깅이 가능하다.

하지만 아직 몇 가지 제약사항이 있기 때문에 불편한 점이 좀 있다. 예를 들어서 gdb에서 바이너리를 로딩한 후에 main 함수에 브레이크 포인트를 걸려면 아래와 같이 패키지명과 함수명을 같이 적어줘야 한다.

(gdb) file test
Reading symbols from /home/superkkt/tmp/test...warning: Loadable segment ".interp" outside of ELF segments
done.
Loading Go Runtime support.
(gdb) list
1 package main
2
3 import "fmt"
4
5 func main() {
6    v := "test\n"
7    fmt.Printf(v)
8 }
(gdb) b main.main
Breakpoint 1 at 0x400c00: file /home/superkkt/tmp/test.go, line 5.

2011/06/14 13:29 2011/06/14 13:29

trackbacks

trackbacks rss

http://superkkt.com/trackback/688

Leave a Comment