首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在golang中调试特定的api?

如何在golang中调试特定的api?
EN

Stack Overflow用户
提问于 2018-12-19 03:56:16
回答 1查看 679关注 0票数 2

我的连线情况是,在线服务现在正在工作,每天我都可以找到一些500错误报告,如下所示:

代码语言:javascript
复制
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,但如果使用与500请求相同的查询数据请求,则返回500和正确的响应数据。

我不知道如何调试这个bug..。

对api调试有什么建议吗??

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-19 04:07:49

在处理错误时,可以使用:

err.(*errors.Error).ErrorStack()

返回堆栈跟踪。这样,您就可以得到API在某些情况下获取超出范围错误索引的行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53844366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档