除了gcc之外,我可以使用哪个程序来解决Linux问题?

时间:2013-10-26 16:50:08

标签: c linux gcc

除了gcc之外,我可以使用哪个程序来解决Linux问题?我在Ubuntu 12.04上使用vi,gcc。虽然gcc提供了调试选项,但仍然有任何程序可以给我一个详细的解释,即关于堆栈空间,指针位置等。

3 个答案:

答案 0 :(得分:4)

首先,我假设您的意思是gdb,而不是gcc(这是编译器)。

这是一个非常广泛的问题,因为您没有编写GDB中缺少的功能。但是,Linux中有很多可用的调试器:

LDDB:LLVM调试器,与gdb非常相似。由Apple工具使用。如果您使用clang编译代码,请使用。

Valgrind:分析内存使用,分析性能,检测常见错误(线程问题等)的高级工具

gperftools:Google的工具,性能分析器,堆检查器(检测内存问题,例如访问超出其边界的数组),堆分析器

IDA:商业调试器和反汇编程序。在调试无法访问源代码的程序时很有用。

....然后名单继续。

答案 1 :(得分:2)

正如评论中提到的幽默(讽刺?:p),gcc编译器,而不是调试器gcc中的调试选项只是告诉编译器生成调试符号以及程序的二进制输出。

这样,调试器,如gdb,就能够处理调试会话的程序。只需谷歌约gdb,查看手册,在简单的程序上测试它,看看哪些功能对你有用......并且......玩得开心

更准确地说,如果没有为编译器指定调试选项,调试器将无法跟踪进程工作流及其内存状态(对于gcc它是{{1} })

答案 2 :(得分:0)

IDB:这是英特尔的调试器,附带icc编译器(你可以获得一个非常用的版本here并试一试)。 gdb兼容,一个伟大的工具,非常友好使用,甚至包括GUI。这就是我认为你正在寻找的东西(我猜你认为gdb太友好了吧?)

Dbx:这是Sun / Orable的调试器(我没有特别使用这个),附带Sun Studio软件集(我使用编译器和IDE),你可以下载也是自由的。也是一个很棒的工具,非常类似于gdb。