Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
build-web-application-with-golang
提交
4e5b2b00
B
build-web-application-with-golang
项目概览
OpenDocCN
/
build-web-application-with-golang
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
build-web-application-with-golang
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4e5b2b00
编写于
11月 06, 2012
作者:
A
astaxie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
GDB分享
上级
4cead92a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
5 deletion
+25
-5
11.2.md
11.2.md
+25
-5
未找到文件。
11.2.md
浏览文件 @
4e5b2b00
# 11.2 使用GDB调试
## links
*
[
目录
](
<
preface.md
>
)
*
上一节:
[
错误处理
](
<
11.1.md
>
)
# 11.2 使用GDB调试
开发程序过程中调试代码是开发者经常要做的一件事情,Go语言不像PHP、Python等动态语言,只要修改不需要编译就可以直接输出,而且可以动态的在运行环境下打印数据。当然Go语言也可以通过Println之类的打印数据来调试,但是每次都需要重新编译,这是一件相当麻烦的事情。我们知道在Python中有pdb/ipdb之类的工具调试,Javascript也有类似工具,这些工具都能够动态的显示变量信息,单步调试等。不过庆幸的是Go也有类似的工具支持:GDB。Go内部已经内置支持了GDB,所以,我们可以通过GDB来进行调试,那么本小节就来介绍一下如何通过GDB来调试Go程序。
## GDB调试简介
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。使用GDB可以做如下事情:
1.
启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
2.
可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
3.
当程序被停住时,可以检查此时你的程序中所发生的事。
4.
动态的改变你程序的执行环境。
目前支持调试Go程序的GDB版本必须大于7.1。
编译Go程序的时候需要注意以下几点
1.
传递参数-ldflags "-s",忽略debug的打印信息
2.
传递-gcflags "-N -l" 参数,这样可以忽略Go内部做的一些优化,聚合变量和函数等优化,这样对于GDB调试来说非常困难,所以在编译的时候加入者两个参数避免这些优化。
## 常用命令
## 调试过程
## links
*
[
目录
](
<
preface.md
>
)
*
上一节:
[
错误处理
](
<
11.1.md
>
)
*
下一节:
[
Go怎么写测试用例
](
<
11.3.md
>
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录