linux程序怎么源码调试_linux编程教程

hacker|
121

文章目录:

在linux中如何编译C程序,使之成为可执行文件?如何调试?

Gcc最基本的用法是∶gcc [options] [filenames] 其中options就是编译器所需要的参数,filenames给出相关的文件名称。 -c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。 -o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。 -g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。 -O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。 -O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢.

例子:

gcc -o test test.c

结果生成可执行文件test

在Linux中C语言的调试(下面的程序如何调试)?

你说的调试是什么意思?

如果是想用GDB工具进行调试在gcc选项中加入-g

例如:gcc *.c -o -g * (其中*是你的文件名,两个*可以不同)

然后用 gdb *(上面命令中第二个*)

然后,就看你想怎么调试了。

GDB有很多命令

list 列出代码

break 设置断点

run 运行程序

step 但不执行

quit 退出

……

你这个是多进程的。说实话,没用GDB调过。

不过简单看来你的子进程没有exit()函数。

如果你运行结果不对,那么看看你的子进程的问题吧

在linux里,c程序的编辑、编译、调试的详细步骤是什么?

在linux下,一般的c程序开发流程为:

c程序的编辑:

一般情况下,简单的c程序编辑是通过vi文本编辑器进行的,语法格式和在windows下的编辑是一样的;

c程序的编译:

而编译则是对编辑好的c语言程序进行一个,预处理,编辑,汇编和链接的过程,一般格式为:     编译器名 -参数 目标文件名 源文件名;

一般工作在命令行模式;

c程序的调试:

调试阶段则是建立在c程序编译通过的情况下进行的,一般通过GDB调试进行,逐步排错和细节查看。

如何利用eclipse编译调试linux源码

eclipse有插件Eclipse CDT帮你管理. 不过都linux了干嘛不自己写makefile. linux一般是用gcc或者clang为编译器,管理可以用cmake,automake之类.也可以自己写makefile.网上资料一摞一摞的

怎么在linux系统下调试程序

(1)假设要debug的进程号为1000,运行如下命令:

$ gdb -p 1000

使用此命令即可使gdb附加到进程。

(2)载入libpython脚本

如果你的gdb是redhat或fedora等厂商修改过的,会有--python选项,使用此选项即可指定gdb启动时载入的Python扩展脚本(此脚本是扩展gdb的,不是我们需要debug的脚本)。

$ gdb --python /path/to/libpython .py -p 1000

如果安装的是GNU的gdb,就需要打开gdb后手动载入libpython.py脚本

(gdb) python

import sys

sys.path.insert(0, '/path/to/libpython.py' )

import libpython

end

(gdb)

这时就可以使用py-bt命令打印当前线程的Python traceback了。libpython还提供很多命令,例如py-print打印变量,py-locals打印所有本地变量等等,详细可打开libpython.py查看。

Linux系统 他的源码是怎么调 怎么用?

编译好的内核文件在/boot目录下,文件名一般是linuz-2.6.9之类。源代码可以从网上下载,地址:

另外,站长团上有产品团购,便宜有保证

4条大神的评论

  • avatar
    访客 2022-07-04 下午 05:15:54

    地要慢一些。 -O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢.例子:gcc -o test test.c结果生成可执行文件test在Linux中C语言的调试(下面的程序如何调试)?你说的调试是什么意思?如果是想用GDB工具进行调试在gcc选项中加入-g例如:gc

  • avatar
    访客 2022-07-04 下午 04:00:50

    sert(0, '/path/to/libpython.py' ) import libpythonend(gdb)这时就可以使用py-bt命令打印当前线程的Python traceback

  • avatar
    访客 2022-07-04 上午 08:00:22

    要debug的脚本)。$ gdb --python /path/to/libpython .py -p 1000如果安装的是GNU的gdb,就需要打开gdb后手动载入libpython.py脚本(gdb) pyt

  • avatar
    访客 2022-07-04 下午 01:56:39

    的,一般通过GDB调试进行,逐步排错和细节查看。如何利用eclipse编译调试linux源码eclipse有插件Eclipse CDT帮你管理. 不过都linux了干嘛不自己写makefil

发表评论