[derek@dev ~/dev/crashgo]$ /usr/local/bin/gdb process 11371 GNU gdb (GDB) 7.11 [GDB v7.11 for FreeBSD] Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-portbld-freebsd10.1". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... process: No such file or directory. Attaching to process 11371 Reading symbols from /usr/home/derek/dev/crashgo/bin/crashgo...done. [New LWP 101081 of process 11371] [New LWP 101080 of process 11371] [New LWP 101052 of process 11371] [New LWP 100987 of process 11371] [New LWP 100984 of process 11371] [New LWP 100966 of process 11371] [New LWP 100921 of process 11371] [New LWP 100827 of process 11371] [New LWP 100805 of process 11371] [New LWP 100783 of process 11371] [New LWP 100781 of process 11371] [New LWP 101103 of process 11371] [Switching to LWP 101086 of process 11371] runtime.addspecial (p=0xc820454660, s=0x80091f3b0, ~r2=true) at /usr/local/go/src/runtime/mheap.go:999 999 x := *t warning: Unsupported auto-load script at offset 0 in section .debug_gdb_scripts of file /usr/home/derek/dev/crashgo/bin/crashgo. Use `info auto-load python-scripts [REGEXP]' to list them. (gdb) info threads Id Target Id Frame * 1 LWP 101086 of process 11371 runtime.addspecial (p=0xc820454660, s=0x80091f3b0, ~r2=true) at /usr/local/go/src/runtime/mheap.go:999 2 LWP 101081 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 3 LWP 101080 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 4 LWP 101052 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 5 LWP 100987 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 6 LWP 100984 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 7 LWP 100966 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 8 LWP 100921 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 9 LWP 100827 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 10 LWP 100805 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 11 LWP 100783 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 12 LWP 100781 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 13 LWP 101103 of process 11371 runtime.sys_umtx_op () at /usr/local/go/src/runtime/sys_freebsd_amd64.s:21 (gdb) thread 1 [Switching to thread 1 (LWP 101086 of process 11371)] #0 runtime.addspecial (p=0xc820454660, s=0x80091f3b0, ~r2=true) at /usr/local/go/src/runtime/mheap.go:999 999 x := *t (gdb) step 1000 if x == nil { (gdb) step 1003 if offset == uintptr(x.offset) && kind == x.kind { (gdb) step 1008 if offset < uintptr(x.offset) || (offset == uintptr(x.offset) && kind < x.kind) { (gdb) step 1011 t = &x.next (gdb) step 999 x := *t (gdb) step 1000 if x == nil { (gdb) step 1003 if offset == uintptr(x.offset) && kind == x.kind { (gdb) step 1008 if offset < uintptr(x.offset) || (offset == uintptr(x.offset) && kind < x.kind) { (gdb) step 1011 t = &x.next (gdb) step 999 x := *t (gdb) step 1000 if x == nil { (gdb) step 1003 if offset == uintptr(x.offset) && kind == x.kind { (gdb) step 1008 if offset < uintptr(x.offset) || (offset == uintptr(x.offset) && kind < x.kind) { (gdb) step 1011 t = &x.next (gdb) step 999 x := *t (gdb) step 1000 if x == nil { (gdb) step 1003 if offset == uintptr(x.offset) && kind == x.kind { (gdb) step 1008 if offset < uintptr(x.offset) || (offset == uintptr(x.offset) && kind < x.kind) { (gdb) step 1011 t = &x.next (gdb) step 999 x := *t (gdb) step 1000 if x == nil { (gdb) step 1003 if offset == uintptr(x.offset) && kind == x.kind { (gdb) step 1008 if offset < uintptr(x.offset) || (offset == uintptr(x.offset) && kind < x.kind) { (gdb) step 1011 t = &x.next (gdb) step 999 x := *t (gdb) step 1000 if x == nil { (gdb) step 1003 if offset == uintptr(x.offset) && kind == x.kind { (gdb) step 1008 if offset < uintptr(x.offset) || (offset == uintptr(x.offset) && kind < x.kind) { (gdb) step 1011 t = &x.next (gdb) step 999 x := *t (gdb) step 1000 if x == nil { (gdb) step 1003 if offset == uintptr(x.offset) && kind == x.kind { (gdb) step 1008 if offset < uintptr(x.offset) || (offset == uintptr(x.offset) && kind < x.kind) { (gdb) step 1011 t = &x.next (gdb) step 999 x := *t (gdb) step 1000 if x == nil { (gdb) step 1003 if offset == uintptr(x.offset) && kind == x.kind { (gdb) step 1008 if offset < uintptr(x.offset) || (offset == uintptr(x.offset) && kind < x.kind) { (gdb) step 1011 t = &x.next (gdb) step 999 x := *t (gdb) until 1011 runtime.addspecial (p=0xc820454660, s=0x80091f3b0, ~r2=true) at /usr/local/go/src/runtime/mheap.go:1011 1011 t = &x.next (gdb) until 1011 runtime.addspecial (p=0xc820454660, s=0x80091f3b0, ~r2=true) at /usr/local/go/src/runtime/mheap.go:1011 1011 t = &x.next (gdb) until 1011 runtime.addspecial (p=0xc820454660, s=0x80091f3b0, ~r2=true) at /usr/local/go/src/runtime/mheap.go:1011 1011 t = &x.next (gdb) until 1011 runtime.addspecial (p=0xc820454660, s=0x80091f3b0, ~r2=true) at /usr/local/go/src/runtime/mheap.go:1011 1011 t = &x.next (gdb) until 1011 runtime.addspecial (p=0xc820454660, s=0x80091f3b0, ~r2=true) at /usr/local/go/src/runtime/mheap.go:1011 1011 t = &x.next (gdb) print t $1 = (struct runtime.special **) 0x800000001 (gdb) print t $2 = (struct runtime.special **) 0x800000001 (gdb) print t $3 = (struct runtime.special **) 0x800000001 (gdb) until 1011 runtime.addspecial (p=0xc820454660, s=0x80091f3b0, ~r2=true) at /usr/local/go/src/runtime/mheap.go:1011 1011 t = &x.next (gdb) print t $4 = (struct runtime.special **) 0x800000001 (gdb) step 999 x := *t (gdb) print x No symbol "x" in current context. (gdb) step 1000 if x == nil { (gdb) print x No symbol "x" in current context. (gdb) step 1003 if offset == uintptr(x.offset) && kind == x.kind { (gdb) print offset $5 = 1632 (gdb) print kind $6 = 1 '\001' (gdb) step 1008 if offset < uintptr(x.offset) || (offset == uintptr(x.offset) && kind < x.kind) { (gdb) step 1011 t = &x.next (gdb) print offset $7 = 1632 (gdb) print kind $8 = 1 '\001' (gdb) step 999 x := *t (gdb) print t $9 = (struct runtime.special **) 0x800000001 (gdb) print offset $10 = 1632 (gdb) print kind $11 = 1 '\001' (gdb) print *t Cannot access memory at address 0x800000001 (gdb) quit A