Нет pclntab в go для Windows? - PullRequest
       13

Нет pclntab в go для Windows?

0 голосов
/ 14 марта 2020

Моя go программа загружает pclntab из исполняемого файла, который прекрасно работает в Linux, но по какой-то причине раздел runtime.pclntab отсутствует, когда я запускаю его в Windows, даже если все, что я ' мы читаем онлайн, говорит, что он должен присутствовать.

package main

import (
    "debug/pe"
    "fmt"
    "log"
    "os"
  )

func main() {
    exePath, err := os.Executable()
    if err != nil {
        log.Printf("Error finding executable: %v", err)
        return
    }

    exe, err := pe.Open(exePath)
    if err != nil {
        log.Printf("Error opening %v: %v", exePath, err)
        return
    }
    defer exe.Close()

    for i := 0; i < len(exe.Sections); i++ {
        fmt.Printf("SECT %v\n", exe.Sections[i].Name)
    }
}

Выходы:

SECT .text
SECT .rdata
SECT .data
SECT .zdebug_abbrev
SECT .zdebug_line
SECT .zdebug_frame
SECT .zdebug_pubnames
SECT .zdebug_pubtypes
SECT .debug_gdb_scripts
SECT .zdebug_info
SECT .zdebug_loc
SECT .zdebug_ranges
SECT .idata
SECT .symtab

Разве pclntab больше не построен для Windows двоичных файлов? Или я что-то не так делаю?

...