mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
debug file
复查
This commit is contained in:
parent
d858744132
commit
685aa027bd
@ -1,6 +1,6 @@
|
||||
使用GDB命令行调试器调试C/C++程序
|
||||
============================================================
|
||||
没有调试器的情况下编写程序时最糟糕的状况是什么?编译时,跪着祈祷不要出错?用生命在运行可执行程序(blood offering不知道怎么翻译好...)?或者在每一行代码间添加printf("test")语句来定位错误点?如你所知,编写程序时不使用调试器的话是不利的。幸好,linux下调试还是很方便的。大多数人使用的IDE都集成了调试器,但linxu著名的调试器是命令行形式的C/C++调试器GDB。然而,与其他命令行工具一致,DGB需要一定的联系才能完全掌握。这里,我会告诉你GDB的基本情况及使用方法。
|
||||
没有调试器的情况下编写程序时最糟糕的状况是什么?编译时,跪着祈祷不要出错?用生命在运行可执行程序(blood offering不知道怎么翻译好...)?或者在每一行代码间添加printf("test")语句来定位错误点?如你所知,编写程序时不使用调试器的话是不利的。幸好,linux下调试还是很方便的。大多数人使用的IDE都集成了调试器,但linxu著名的调试器是命令行形式的C/C++调试器GDB。然而,与其他命令行工具一致,DGB需要一定的练习才能完全掌握。这里,我会告诉你GDB的基本情况及使用方法。
|
||||
|
||||
###安装GDB###
|
||||
|
||||
@ -48,7 +48,7 @@ Fedora,CentOS 或 RHEL:
|
||||
|
||||
$ gdb -tui [executable's name]
|
||||
|
||||
使用”-tui“选项可以将代码现实在一个窗口内(被称为”文本接口”),在这个串口内可以使用光标来操控,同时在下面输入GDB shell命令。
|
||||
使用”-tui“选项可以将代码显示在一个窗口内(被称为”文本接口”),在这个窗口内可以使用光标来操控,同时在下面输入GDB shell命令。
|
||||
|
||||
![](https://farm3.staticflickr.com/2947/15397534362_ac0b5692c8_z.jpg)
|
||||
|
||||
@ -72,7 +72,7 @@ Fedora,CentOS 或 RHEL:
|
||||
|
||||
这样,程序循环97次之后停留在“a++”语句上。这样是非常方便的,避免了我们需要手动循环97次。
|
||||
|
||||
最后单也是很重要的是,我们可以设置一个“观察断点”,当这个被观察的变量发生变化时,程序会被停止。
|
||||
最后但也是很重要的是,我们可以设置一个“观察断点”,当这个被观察的变量发生变化时,程序会被停止。
|
||||
|
||||
watch [variable]
|
||||
|
||||
@ -125,7 +125,7 @@ gdb中,大多数的单词都可以简写为一个字母。
|
||||
|
||||
如其他优秀的调试器一样,我们可以单步调试:
|
||||
|
||||
step
|
||||
step
|
||||
|
||||
使用如上命令,运行到下一条语句,也可以进入到一个函数里面。或者使用:
|
||||
|
||||
@ -147,7 +147,7 @@ gdb中,大多数的单词都可以简写为一个字母。
|
||||
|
||||
quit
|
||||
|
||||
总结,有了GDB,编译是不用祈祷上帝了,运行是不用血祭(?)了,再也不用printf(“test“)了。当然,这里所讲的并不完整,而且GDB的功能远不止这些。所以我强烈建议你自己更加深入的学习它。我现在感兴趣的是将GDB整合到Vim中。同时,这里有一个[备忘录][2]记录了GDB所有的命令行,以供查阅。
|
||||
总结,有了GDB,编译时不用祈祷上帝了,运行时不用血祭(?)了,再也不用printf(“test“)了。当然,这里所讲的并不完整,而且GDB的功能远不止这些。所以我强烈建议你自己更加深入的学习它。我现在感兴趣的是将GDB整合到Vim中。同时,这里有一个[备忘录][2]记录了GDB所有的命令行,以供查阅。
|
||||
|
||||
你对GDB有什么看法?你会将它与图形调试器对比吗,它有什么优势呢?对于将GDB集成到Vim有什么看法呢?将你的想法写到评论里。
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user