校对中

校对中
This commit is contained in:
jasminepeng 2017-02-03 11:33:10 +08:00 committed by GitHub
parent 3652ec3c4f
commit ecfc312703

View File

@ -7,9 +7,9 @@
2. [GDB 调试器用例][2]
3. [总结][3]
无论你是多么有经验的程序员,开发的任何软件都不可能完全没有 bug。因此排查及修复 bug 成为软件开发周期中最重要的任务之一。虽然,有许多办法可以排查 bug测试、代码自审等等但是有一些专用软件称为调试器可以帮你准确定位问题的所在,以便你轻松解决问题
无论多么有经验的程序员,开发的任何软件都不可能完全没有 bug。因此排查及修复 bug 成为软件开发周期中最重要的任务之一。有许多办法可以排查 bug测试、代码自审等等但是有一些专用软件(称为调试器)可以帮助准确定位问题的所在,以便进行修复
如果你是 C/C++ 程序员或者使用 Fortran 和 Modula-2 编程语言开发软件,那么你将会很乐意知道有这么一款优秀的调试器 -[GDB][4]- 可以帮你更轻松地调试代码 bug 以及其它问题。在这篇文章中,我们将讨论一下 GDB 调试器的基础知识,包括它提供的一些有用的功能/选项。
如果你是 C/C++ 程序员或者使用 Fortran 和 Modula-2 编程语言开发软件,那么你将会很乐意知道有这么一款优秀的调试器 -[GDB][4]- 可以帮你更轻松地调试代码 bug 以及其它问题。在这篇文章中,我们将讨论一下 GDB 调试器的基础知识,包括它提供的一些有用的功能/选项。
在我们开始之前,值得一提的是,文章中的所有说明和示例都已经在 Ubuntu 14.04LTS 中测试过。教程中的示例代码都是 C 语言写的;使用的 shell 为 bash4.3.11GDB 版本为 7.7.1。
@ -21,8 +21,7 @@
想要了解 gcc 编译器手册页中关于 -g 命令行选项相关的内容,请看[这里][5]。
Next step is to make sure that you have GDB installed on your system. If that's not the case, and you're on a Debian-based system like Ubuntu, you can easily install the tool using the following command:
下一步,确保在你的系统中已经安装 GDB 调试器。如果没有安装,但你使用的是基于 Debian 的系统(如 Ubuntu那么你就可以使用以下命令轻松安装该工具
下一步,确保在你的系统中已经安装 GDB 调试器。如果没有安装,而且你使用的是基于 Debian 的系统(如 Ubuntu那么你就可以使用以下命令轻松安装该工具
```
sudo apt-get install gdb
@ -36,7 +35,7 @@ sudo apt-get install gdb
gdb [prog-executable-name]
```
虽然,这样做会初始化 GDB 调试器,但你的可执行程序还不会被启动。在这个时候你就可以定义调试相关的设置。例如,你可以在特定行或函数中设置一个断点让 GDB 暂停程序的执行。
这样做会初始化 GDB 调试器,但你的可执行程序此时还不会被启动。在这个时候你就可以定义调试相关的设置。例如,你可以在特定行或函数中设置一个断点让 GDB 暂停程序的执行。
接着,为了启动你的程序,你必须执行以下 gdb 命令:
@ -76,7 +75,7 @@ int main()
}
```
简单说明一下这段代码要做什么事。遍历 `val` 数组,将数组元素赋值给 `out` 变量,并将每一次 `0xffffffff/out` 表达式的结果值累加赋值给 `tot` 变量。
简单说明一下这段代码要做什么事。获取 `val` 数组中每一个值,将其赋值给 `out` 变量,然后将每一次 `0xffffffff/out` 表达式的结果值累加赋值给 `tot` 变量。
这里遇到的问题是,当执行这段代码编译后的可执行程序时,产生以下错误: