Ian, I understand now. Thanks you! :) On Friday, November 27, 2020 at 5:10:18 AM UTC+8 Ian Lance Taylor wrote:
> On Thu, Nov 26, 2020 at 11:50 AM Kn <hit.zh...@gmail.com> wrote: > > > > Hi, I am writing a golang debugger and some documents to show others the > knowledge about how to develop a golang debugger. > > > > I notice go debug/elf, debug/gosym is enough for the occasions like > lookup symbol, pcToLn, lnToPC, maybe even for backtrace? > > > > I want to know why go generate .gosymtab (now it is empty) and > .gopclntab, why don't we use the .symtab or .debug_line, debug_frame, etc? > Does it have relations about plan9 object symtab? Are the generated > .debug_* sections generated for common utilities, like readelf, etc? > > The .gopclntab section is loaded into memory at run time and used to > do stack tracebacks and by functions like runtime.Callers. The > .symtab and .debug sections are not loaded into memory; they are > available to debuggers, but not to the running programs. They used by > debuggers like delve and gdb. > > The .gopclntab format was once based on the Plan 9 format, but it has > changed significantly over time. > > Ian > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/042e9ed3-22f7-4edd-8716-fc1ad2f7bc82n%40googlegroups.com.