@@ -114,20 +114,26 @@ func LogLevel(gologLevel, consolelogLevel int32) {
114114 log .SetConsoleLevel (clvl )
115115 dbg := dlvl <= log .DEBUG || clvl <= log .DEBUG
116116 settings .Debug = dbg
117+ // turn off runtime's internal "secure mode" to enable tracebacks
117118 prevsm := core .SecureMode (false /*off*/ )
118119 // traceback is always set to "crash" for c-shared / c-archive buildmodes
119120 // github.com/golang/go/blob/fed3b0a298/src/runtime/runtime1.go#L586
120121 // gomobile builds a c-shared gojnilib:
121122 // github.com/golang/mobile/blob/2553ed8ce2/cmd/gomobile/bind_androidapp.go#L393
122- envtraceback := os .Getenv ("GOTRACEBACK" )
123+ prevtraceback := os .Getenv ("GOTRACEBACK" )
123124 if settings .Debug {
125+ os .Setenv ("GOTRACEBACK" , sys .s ())
124126 debug .SetTraceback (sys .s ())
125127 } else {
128+ os .Setenv ("GOTRACEBACK" , usr .s ())
126129 debug .SetTraceback (usr .s ())
127130 }
131+ curtraceback := os .Getenv ("GOTRACEBACK" )
132+ core .RuntimeFinishDebugVarsSetup ()
133+ gotracelevel , gotraceall , gotracecrash := core .RuntimeGotraceback ()
128134
129- log .I ("tun: new levels; golog: %d, consolelog: %d; debug? %t; traceback: %s; sm? %t" ,
130- dlvl , clvl , dbg , envtraceback , prevsm )
135+ log .I ("tun: new levels; golog: %d, consolelog: %d; debug? %t; traceback: %s => %s (l: %d / a? %t / c? %t) ; sm? %t" ,
136+ dlvl , clvl , dbg , prevtraceback , curtraceback , gotracelevel , gotraceall , gotracecrash , prevsm )
131137}
132138
133139// FlightRecorder starts Go runtime's flight recorder if y is true,
0 commit comments