我有两个源文件,我目前正在编译成一个可执行文件。
我使用gcc -o ProgramName file1.c file2.c
我知道gdb在编译时需要-g
标志,但我必须将其放错。我尝试了几件事,但没有尝试过:
gcc -g -o ProgramName file1.c file2.c
正在为我工作。当我运行gdb
- > run
它表示找不到可执行文件。
如何正确编译,以便它可以在GDB中运行?
答案 0 :(得分:3)
正确的命令是
gdb ProgramName
接着是
run
在提示符中。
答案 1 :(得分:1)
尝试:
gdb -tui ProgramName
这将使用Text User Interface打开GDB,默认情况下会在屏幕上加载源代码。通过这种方式,您将知道程序是否已加载。
屏幕将被拆分,源代码位于顶部,命令行位于底部,如下所示:
答案 2 :(得分:0)
请使用以下命令编译单个源文件(cxx,c)
gcc -g -c file1.c file2.c
(依此类推)
这将生成file1.o file2.o文件(依此类推...)
现在将目标文件编译为正式可执行文件。
gcc -g -o file.exe file1.o file2.o
在类似c ++的代码行中
g++ -g -c file1.c file2.c
g++ -g -o file.exe file1.o file2.o
现在运行gdb file.exe
进一步参考: 请通过: http://www.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html#zz-1.7