10

我正在(慢慢地)使用 go 语言开发一个应用程序引擎应用程序——虽然我喜欢这种体验的许多部分(与谷歌服务和 go 语言本身的良好集成)但我对缺乏感到有点惊讶调试工具,尤其是应用程序引擎。

我知道您可以登录到控制台(恕我直言调试的最低形式),但是所有更聪明的尝试(在本地实例上附加 gdb)都失败了。(应用引擎的构建工具似乎专门去除了调试信息)

我不敢相信我是唯一一个观察到这一点的人,所以我想知道其他人在做什么来开发/调试应用程序引擎?

4

3 回答 3

3

目前没有比context.Errorf()和朋友更好的方法了。Python刚刚 pdb在 1.8.3 SDK 中获得支持。我还没有听说过任何类似的调试器支持 go。也许值得在应用程序引擎列表中询问这一点。

于 2013-08-11T08:49:40.697 回答
2

我只是在此博客中对您的主题发红:

http://joshua.themarshians.com/hardcore-google-unit-testing.html

我不能给你一个例子,但也许它会有所帮助。

于 2013-08-16T14:21:10.970 回答
0

这是一个更新,我想补充一下目前的情况。

好消息是 go 工具现在不再去除调试符号,所以如果你在本地机器上运行,你现在可以获得 gdb 支持!

这是一个过程,对于更多的自动化来说已经成熟(欢迎提出建议)

简而言之:

  1. 寻找 _app_go 进程
  2. cd 到它运行的目录
  3. 使用“-pid”命令将进程附加到 gdb
  4. 告诉gdb源码目录

繁荣——调试。

于 2013-12-14T07:35:53.570 回答