mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-13 22:30:37 +08:00
校对中
校对中
This commit is contained in:
parent
3652ec3c4f
commit
ecfc312703
@ -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 为 bash(4.3.11);GDB 版本为 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` 变量。
|
||||
|
||||
这里遇到的问题是,当执行这段代码编译后的可执行程序时,产生以下错误:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user