问个gdb的问题

mingjava 2003-06-15 04:41:31
我的gdb为什么list出来的程序不是从开头开始的呢?

100行的程序好象从70多行开始显示的 .
...全文
37 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
netboys 2003-06-16
  • 打赏
  • 举报
回复
这是正常的,和断点没关系
你就用list 1来显示从头开始的部分
hohoo 2003-06-16
  • 打赏
  • 举报
回复
list应该在你的程序断点处前面几行。
mingjava 2003-06-15
  • 打赏
  • 举报
回复
我还没有调试呢 只是想看看程序而已。应该list是从第一行开始的阿 我只能在list后面加1 才从开始显示的
windchi 2003-06-15
  • 打赏
  • 举报
回复
为了显示你调试那一行的上下文关系, 我觉得是这样的。并且这样很好啊,可以看得更明白一些。
gdb-20010428-3[1].tar.bz2 和 gdb-20020411-1[1].tar.bz2 图形界面 GDB 使用指南 -SeaSon from HIT 1.安装:cygwin 下面安装就行了,注意我测试的 gdb-20020411-1和 gdb-20010428-3 都是 图形界面,而版本 gdb-20041228-3 我发现是命令行的,所以推荐前两个版本,毕竟图形界 面方便很多,如果你热衷于新的版本,那看到这里你就可以停止了:)下面以 ns-allinone-2.27 为例说明 注:现在直接从网上安装的版本好像没有那么老的版本,我是从网上找到一个本地安装版本 “ Cygwin0528”(可以用 baidu 或者 google 搜一下),然后利用它安装 gdb-20020411-1, 注意你只需要安装这一个就行了,其他的所有都选择为 keep(已经安装的)或者 skip(未 安装的),否则会出现问题的,一定要切记这点儿。 2.在代码里面添加调试信息:修改 Makefile(没有任何后缀的)将里面 CCOPT = #如果是ns-allinone-2.28,这里是 CCOPT = -O2 STATIC = LDFLAGS = $(STATIC) LDOUT = -o $(BLANK) 改变为: CCOPT = -g #如果是 ns-allinone-2.28,这里修改为 CCOPT = -O2 -g STATIC = LDFLAGS = $(STATIC) LDOUT = -o $(BLANK) 修改的东西是粉红色字体所示 3.然后重新编译 注意:以下步骤一个都不能少 Make clean Make depend Make 4.调试过程如下 进入工作目录:推荐 ns-2.27 操作:打开 xwindows 之后, a.输入 cd ns-allinone-2.27/ns-2.27(必须) b.输入gdb ns 进入gdb 工作界面,如果不是图形界面的版本可能就直接在 xwindows进入 Gdb 调试过程,这样的话具体命令参见《NS 仿真软件》精华区,不要问我!!!!!!!!!! 如果按照我的要求安装的图形界面 gdb,出现如下图形界面,如下所示: c.在左上角红色标记的地方输入你要调适的程序。如:mflood.cc 设置断点,注意只有最左边有“-”符号(如下图中 1 所示)的可以设置断点,将鼠标放 在行号上就会出现变成一个圆形的符号,单击即设了一个断点,原来的“-”地方变成了一 个红色的方框,如下图中标号 2 所示。 然后输入 Ctrl+N进入命令行窗口,如下图所示: 进入代码所在的目录 ns-2.27/mytcl 因为当前的工作目录在 ns-2.27,所以我直接输入 cd mytcl 就行了 输入命令 r mytcl.tcl 就进入调试,(调试不是在 console 窗口,而是在一下窗口)具 体调试根 vc差不多,呵呵,不用我罗嗦了,一些常用的如下图所示,其他的你看英文就知 道意思了。祝好运

23,127

社区成员

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

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