俗话说:欲善其事,先利其器。在linux下,没有WINDOWS下那么方便,在VC里什么都配置好了。一般来说,传统的方法都是自己写makefile,在终端下用命令行编译和调试。编译器使用得最多的就是GCC,编译器就是gdb了。GCC和gdb前面的G都代表GNU。关于GNU的详细信息,这里也不废话了,有兴趣自己去http://www.gnu.org。其实关于GCC和gdb的使用方法网上有大把,我这里也就是把从网上找到的资料整理一下,不是最前面的,但是是最常用的功能。...
在gdb中使用list 命令有以下提示: ../sysdeps/i386/elf/start.S 没有哪个文件或目录. in ../sysdeps/i386/elf/start.S. 不知道如何修改.
我是Unix新手,据说Unix下编程高手一般都不用gdb之类的调试工具, 只靠眼睛查源码,然后printf,我想知道大家是如何调试的? 大哥大们,交流一下吧 :em46:
服务端程序tcpservselect01已经在运行,所以用了attach; 一开始把断点设在accept的地方,然后continue,运行客户端,step进入accept,然后finish,发现gdb跟死了一样,任何输入都不管用了。 试了几次不行,然后在shell下用kill 杀服务进程,缺发现杀不掉,然后再用attach调试的时候,一输入attach就发现任何命令都不管用了,emacs只输出了一行:Attaching to program: /home/mao/unpv12e/tcpcliserv/tcpservselect01, process 1...
在linux的环境下,用c语言写了一个应用程序,这个程序会加载我设定的一个配置文件,有时文件坏了,程序终止了。我想请问各位,我怎么才能知道我这个应用程序异常终止。这样当我检测到应用程序终止退出后,就能处理了。 我的应用程序在一个main函数。当这个应用程序后。我又不能利用这里面的纠错函数。所以需要另外编写一个主程序。用来监测这个应用程序。我的应用程序异常退出后,在标准输出打印abort。我的另外一个程序怎末设计。...
/usr/lib/gcc/i586-suse-linux/4.2.1/../../../../i586-suse-linux/bin/ld:cannot find -lsocket collext2: ld returned 1 exit status 问下高手们这俩问题是怎么回事?该怎么解决? 第一个好象是说-lsocket找不到,我不知道该怎么弄,HELP ME !THANKS!