我想通过一些调试线运行GTK + / C程序行。 我从来没有调试一个Linux程序,所以我在哪里可以找到指令,就如何调试代码非常初学者? 我只是一个想法,我不得不从网上下载的来源,通过国内长途或GDB编译调试符号和运行源的项目。 因此,谁能给点建议如何开始学习这些科目,什么可能是一个很好的调试器开始? 我至少有时间去学习的东西。
Answer 1:
还应考虑除了DDD nemiver,他们擅长不同的事情,但nemiver沿着非常漂亮的到来。
PS。 如果你在Ubuntu,你想步这是一个从包仓库安装的应用程序,让我们把它叫做some_package,然后执行以下操作:
- 安装包“建立必要的”和“devscripts中”
- 运行“sudo易于得到建立-DEP some_package”安装来编译包所需要的所有东西
- 运行 “MKDIR -p〜/ SRC / some_package; CD〜/ SRC / some_package” 创建目录的源代码
- 进入系统::管理::软件源并激活“源代码”库
- 运行“apt-get的源some_package”下载源代码some_package并把它放在当前目录
- 使用“cd”命令进入特定的应用程序目录,通常类似“一些-APP-1.2.3”
7A。 运行“debuild -us -uc -b”的源代码编译成在释放模式编译时没有调试信息的新安装的.deb文件
或(这是中央部):
7B。 运行“MAKEFLAGS = -J 6 DEB_BUILD_OPTIONS =” NOSTRIP noopt中平行= 5" CFLAGS = “ - G3 -O0” debuild -us -uc”在调试模式下建立一个DEB WITH调试信息
- 使用“CD ..”向上移动一步,然后执行“ls”的,你应该可以看到生成DEB文件(多个二进制包,即德布斯,可以从一个单一的源代码包生成)
- 须藤“须藤dpkg -i来some_package_123.deb”来安装你刚建的版本
当然,你可以有选择地修改步骤6和7之间的代码有关此方法的好处是,它适用于几乎任何应用程序。 你可以用它为Firefox,Linux内核,台面堆栈或什么的。
Answer 2:
http://www.sourceware.org/current/onlinedocs/gdb_toc.html
全GDB用户手册在线。
Answer 3:
考虑使用GDB和使用gcc -G编译,或者使用其他调试器。
http://en.wikipedia.org/wiki/Gdb
文章来源: How to run a Linux program line by line