Linux GDB调试的一些记录

来源:互联网 发布:域名转让骗局 编辑:程序博客网 时间:2024/04/28 02:55
(1)错误:只允许在 C99 模式下使用‘for’循环初始化声明
    C语言有很多标准,以前的标准不允许 for(int i=0;;) 这种格式,而C99的模式允许了,如果你的c编译器不是C99标准的,则需要把 for(int i=0;;) 改成 t i;for(i=0;;); 这种写法形式。
(2)gcc没法调用gdb调试
    使用gdb时遇到的问题,刚开始接触linux下使用gdb调试程序,其原因是生成的二进制可执行文件没有使用-g选项。
    gcc中-g选项是为了获得有关调试信息,要用gdb进行调试,必须使用-g生成二进制可执行文件,gcc -g example.c -o example,这样就可以用gdb调用example了。
(3)Linux下Eclipse的一些调试快捷键
    F5 是单步执行,遇到函数,进入函数中执行。
    F6 也是单步执行,但是遇到函数当一步执行。
    F7 直接运行完本级函数
    F8 直接运行到断点处,没断点就运行完为止。
(4)Eclipse开始允许程序时报error while loading shared libraries,表示链接不到静态库,此时我们可以工程Property -> C/C++ build -> settings -> GCC C Linker-> Miscellaneous -> Link flags 中添加-Wl,-rpath=/静态库地址
(5)Linux C提示不建议使用从字符串常量到‘char*’的转换 [-Wwrite-strings]
    只需要把函数参数设置成const标示的就可以了。
1 0
原创粉丝点击