|  | // Copyright 2019 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | // Export debuglog guts for testing. | 
|  |  | 
|  | package runtime | 
|  |  | 
|  | const DlogEnabled = dlogEnabled | 
|  |  | 
|  | const DebugLogBytes = debugLogBytes | 
|  |  | 
|  | const DebugLogStringLimit = debugLogStringLimit | 
|  |  | 
|  | var Dlog = dlog | 
|  |  | 
|  | func (l *dlogger) End()                     { l.end() } | 
|  | func (l *dlogger) B(x bool) *dlogger        { return l.b(x) } | 
|  | func (l *dlogger) I(x int) *dlogger         { return l.i(x) } | 
|  | func (l *dlogger) I16(x int16) *dlogger     { return l.i16(x) } | 
|  | func (l *dlogger) U64(x uint64) *dlogger    { return l.u64(x) } | 
|  | func (l *dlogger) Hex(x uint64) *dlogger    { return l.hex(x) } | 
|  | func (l *dlogger) P(x interface{}) *dlogger { return l.p(x) } | 
|  | func (l *dlogger) S(x string) *dlogger      { return l.s(x) } | 
|  | func (l *dlogger) PC(x uintptr) *dlogger    { return l.pc(x) } | 
|  |  | 
|  | func DumpDebugLog() string { | 
|  | g := getg() | 
|  | g.writebuf = make([]byte, 0, 1<<20) | 
|  | printDebugLog() | 
|  | buf := g.writebuf | 
|  | g.writebuf = nil | 
|  |  | 
|  | return string(buf) | 
|  | } | 
|  |  | 
|  | func ResetDebugLog() { | 
|  | stopTheWorld("ResetDebugLog") | 
|  | for l := allDloggers; l != nil; l = l.allLink { | 
|  | l.w.write = 0 | 
|  | l.w.tick, l.w.nano = 0, 0 | 
|  | l.w.r.begin, l.w.r.end = 0, 0 | 
|  | l.w.r.tick, l.w.r.nano = 0, 0 | 
|  | } | 
|  | startTheWorld() | 
|  | } |