Mryqu's Notes


  • 首页

  • 搜索
close

[Golang] 折腾一下Golang项目调试

时间: 2017-10-24   |   分类: Golang     |   阅读: 53 字 ~1分钟

想装个MinGW-W64玩玩64位GDB,才发现继上一博文MinGW安装和使用已三年了,不经意间到看到了下列帖子:

  • MinGW MinGW-w64 TDM-GCC等工具链之间的区别与联系
  • 发现个新环境msys2
  • MinGW、MinGW-w64 与TDM-GCC 应该如何选择?

对于mingw-w64、tdm-gcc、Win-builds这三个小纠结一会,觉得自己本身也就是用一下GDB,还是去https://sourceforge.net/projects/mingw-w64/直接下载MinGW-W64好了。

MinGW-W64安装

所用MinGW-W64安装配置:

配置项配置值
Architecturex86_64
Threadsposix
Exceptionseh

Golang项目编译

编译Golang项目采用 go build -gcflags “-N -l” 关闭内联优化。

GDB调试

载入runtime-gdb.py脚本以对Go运行时结构进行完美打印和转换(例如显示slice和map值、查看goroutine等):

  • 参数载入:gdb -d $GCROOT
  • 手工载入:source C:\Go\src\runtime\runtime-gdb.py 折腾一会,最后还是折在GDB on windows with golang: buildsym_init Assertion “free_pendings == NULL” failed.这个问题上,一调试就DDB崩了,貌似目前无解。

Delve调试

不过Debugging Go Code with GDB里还介绍了另外一个对Golang支持更好的工具Delve。delve 上手容易,有些命令跟GDB差不多。delve commands 好了,就折腾到这里了。目前不太需要的东东就不花费力气了。

标题:[Golang] 折腾一下Golang项目调试
作者:mryqu
声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

#mingw-w64# #tdm-gcc# #golang# #gdb# #delve#
[Gradle] 遭遇 Unable to process incoming event 'ProgressComplete' (ProgressCompleteEvent)
学习一下TOML
  • 文章目录
  • 站点概览

Programmer & Architect

662 日志
27 分类
1472 标签
GitHub Twitter FB Page
    • MinGW-W64安装
    • Golang项目编译
    • GDB调试
    • Delve调试
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%