Provenance resolves the frame provenance.
()
| 59 | |
| 60 | // Provenance resolves the frame provenance. |
| 61 | func (f Frame) Provenance() FrameProvenance { |
| 62 | if f.Addr.InSystemRange() { |
| 63 | return Kernel |
| 64 | } |
| 65 | |
| 66 | mod := filepath.Base(strings.ToLower(f.Module)) |
| 67 | if mod == "ntdll.dll" || mod == "kernel32.dll" || mod == "kernelbase.dll" { |
| 68 | return System |
| 69 | } |
| 70 | |
| 71 | return User |
| 72 | } |
| 73 | |
| 74 | // IsUnbacked returns true if this frame is originated |
| 75 | // from unbacked memory section |