Как отладить конкретный API в Голанге? - PullRequest
0 голосов
/ 19 декабря 2018

у меня ситуация с проводным подключением, онлайн-сервис работает сейчас, и каждый день я могу найти несколько 500 сообщений об ошибках, как показано ниже:

2018-12-19 00:00:01     [ERROR] path[/vplay/getIdsInfo/?type=vlist&ids=31105228] err[runtime error: index out of range] stack[
goweb.(*RouterTab).ServeHTTP.func3.1:/home/tanxiaolong/golib/src/goweb/router.go:352
runtime.call64:/usr/local/go/src/runtime/asm_amd64.s:574
runtime.gopanic:/usr/local/go/src/runtime/panic.go:505
runtime.panicindex:/usr/local/go/src/runtime/panic.go:28
models.(*VplayModel).AssembleData:/home/tanxiaolong/golib/src/vplay/models/vplay.go:757
controllers.(*VplayController).GetIdsInfoAction:/home/tanxiaolong/golib/src/vplay/controllers/vplay.go:652
runtime.call32:/usr/local/go/src/runtime/asm_amd64.s:573
reflect.Value.call:/usr/local/go/src/reflect/value.go:447
reflect.Value.Call:/usr/local/go/src/reflect/value.go:308
goweb.(*RouterTab).ServeHTTP.func3:/home/tanxiaolong/golib/src/goweb/router.go:370
runtime.goexit:/usr/local/go/src/runtime/asm_amd64.s:2361]      (goweb/router.go:353)

я могу найти какой API по логу, но он возвращает200 и исправьте данные ответа, если запросите их с теми же данными запроса, что и 500 запросов мной или wrk или ab.

Я не знаю, как отладить эту ошибку ..

какие-либо предложения по отладке API ??

большое спасибо!

1 Ответ

0 голосов
/ 19 декабря 2018

Когда вы обрабатываете ошибки, вы можете использовать:

err. (* Errors.Error) .ErrorStack ()

, чтобы вернуть трассировку стека.С этим вы можете получить строку, в которой ваш API в некоторых случаях получает индекс вне диапазона ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...