First of all, thank you very much for your answer. I use the giant font
because I copied it directly from Google Translate.
When I debug grow func of mheap.go file, I print the ask variable, it
output No symbol "ask" in current context, print npage it output optimized
out.
func (h *mheap) grow(npage uintptr) bool {
ask := npage << _PageShift
v, size := h.sysAlloc(ask)
if v == nil {
print("runtime: out of memory: cannot allocate ", ask, "-byte block (",
memstats.heap_sys, " in use)\n")
return false
}
// Create a fake "in use" span and free it, so that the
// right coalescing happens.
s := (*mspan)(h.spanalloc.alloc())
s.init(uintptr(v), size/pageSize)
h.setSpans(s.base(), s.npages, s)
atomic.Store(&s.sweepgen, h.sweepgen)
s.state = _MSpanInUse
h.pagesInUse += uint64(s.npages)
h.freeSpanLocked(s, false, true, 0)
return true
}
在 2019年3月15日星期五 UTC+8上午12:49:51,Jake Montgomery写道:
>
> First off. Please don't use a giant font in this group. It adds no
> valuable information, and makes it seem like you are yelling at the reader.
>
> I use delve <https://github.com/go-delve/delve> not gdb, so I can not
> speak directly to that. I use -gcflags="-N -l", and so far it has always
> produced a reasonably debuggable (with delve
> <https://github.com/go-delve/delve> at least) executable.
>
> Your question is probably too vague to answer though. What, specifically,
> are you experiencing as being "optimized out"? If you provided code for a
> small sample program, and told us what you actually see, and what you
> expect to see, you would have a better chance of a useful response.
>
>
> On Thursday, March 14, 2019 at 12:03:50 AM UTC-4, [email protected]
> wrote:
>>
>>
>> Very strange, when I compile with go build -o main -gcflags "-N -l"
>> main.go, it appears optimized out when debugging with gdb.
>>
>> Who knows why?
>>
>>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.