Fix crashes on Go dev.typeparams (soon to be Go main branch) (#2627)
Fix crashes on Go dev.typeparams (soon to be Go main branch) (#2627)

* proc: Go 1.18 removes the _defer.siz field

As of Go 1.17, the _defer.siz field is always 0 because _defer no
longer stores defer call arguments at all. golang.org/cl/326062
removes it entirely for Go 1.18. Simply treat it as 0 if the field is
missing from the _defer type.

* proc: Go 1.18 changes _defer.fn from *funcval to func()

golang.org/cl/325918 changed the type of the _defer.fn field from
*funcval to func() for Go 1.18. This CL was later reverted because it
caused failures in Delve, but we would like to un-revert it. Handle
this change by inspecting the type of this field before decoding it.
go-delve/delve,go-delve/delve,go-delve/delve,go-delve/delve,go-delve/delve