linux里面如何单步调试!

xotaocumt3030 2010-12-03 08:27:32
我在书上看到 使用 gcc -g test.cpp -o test可以实现gdb的调试,书上说的是单个文件的,但是我现在有若干个文件,如何实现gdb的调试啊!我用上面的指令输入 gcc 我的主文件 gcc -g mediaserver.cpp -o mediaserver 结果就报错了 说我里面有 .hh文件找不到! 这个文件里面是用makefile对多个文件进行管理的。 我的目的就是想单步执行每一个文件里面的每一句代码,边调试边看代码! 请熟悉的朋友告诉我具体的我应该怎么做??? 说具体一点啊
...全文
770 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
AAA20090987 2010-12-06
  • 打赏
  • 举报
回复
我直接用code::blocks来调试,呵呵。
山书生 2010-12-04
  • 打赏
  • 举报
回复
(/\)学习!~
阿磊2013 2010-12-04
  • 打赏
  • 举报
回复
写个makefile文件,然后在里面将编译时的参数,加个都加个-g就行了
dadi728990217 2010-12-03
  • 打赏
  • 举报
回复
2楼的答案太好了,正找这个呢
witwolf 2010-12-03
  • 打赏
  • 举报
回复
多个文件编译怎么调试?
比如 g++ a.cpp a.h main.cpp -g -o main
当调试main时时只能看到main.cpp中的内容,
如果想调试a.cpp中的内容应该怎么办?
bluejays 2010-12-03
  • 打赏
  • 举报
回复
原来LZ有makefile,那就得改这个makefile,把里面涉及到gcc编译的命令行都加上-g选项
如果makefile里面有CFLAGS或者CPPFLAGS这样的变量,就给他都加上-g
bluejays 2010-12-03
  • 打赏
  • 举报
回复
你这是编译一个文件的方法 gcc -g mediaserver.cpp -o mediaserver
要编译多个文件 gcc -g mediaserver.cpp a.cpp b.cpp -o mediaserver
得把这些文件都写到命令行里面。
而且,我觉得有可能不是用gcc,而是要用g++
hawk198 2010-12-03
  • 打赏
  • 举报
回复
如果楼主是想学学写程序,那么使用IDE界面是个不错的选择,推荐codeblocks,ubuntu下面和fc下面安装都很方便
打断点、单步跟踪、看watch一应俱全,很是方便

gdb需要敲代码跟踪,比较累人,适用于远程调试,无法启动x的情况;跟点已经有眉目的地方还是很方便的,不过大海捞针查bug就……


楼主可根据需要选择
freetstar 2010-12-03
  • 打赏
  • 举报
回复
用gdb来调试,

可以break先设置个断点,然后再n一步步进行调试

gdb的学习链接
http://dsec.pku.edu.cn/~yuhj/wiki/gdb.html
ma100 2010-12-03
  • 打赏
  • 举报
回复
编译
gcc -g mediaserver.cpp -o mediaserver.o -c
gcc -g b.cpp -o b.o -c
....

最后
gcc -g mediaserver.o b.o ... -o mediaserver

调试:
gdb mediaserver
进入调试, 设断点若当前文件直接b 行号
若在 /tmp/b.cpp第5行 则 b /tmp/b.cpp 5

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧