当前位置:  技术问答>linux和unix

gdb 调试错行的问题,请高手赐教

    来源: 互联网  发布时间:2017-04-08

    本文导语:  操作步骤: 1、写一个最简单的test.c        1 #include        2 int main(void)       3 {       4         printf("hell");       5         return 0;       6 } 2、gcc -g test.c 3、gdb a.out 4、断点b main (g...

操作步骤:
1、写一个最简单的test.c 
      1 #include 
      2 int main(void)
      3 {
      4         printf("hell");
      5         return 0;
      6 }
2、gcc -g test.c
3、gdb a.out
4、断点b main
(gdb) b main
Breakpoint 1 at 0x400530: file test.c, line 4.
这个时候发现断下来是第4行,而上面我自己编写的test.c中main是在第2行,求高手赐教如何才能在gdb正确显示行数。

详细信息如下:
[root@localhost douglas]# gcc -g test.c
[root@localhost douglas]# gdb a.out
GNU gdb (GDB) Fedora (7.5.0.20120926-25.fc18)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /home/douglas/a.out...done.
(gdb) b main
Breakpoint 1 at 0x400530: file test.c, line 4.
(gdb) shell vi test.c
#include 
int main(void)
{
        printf("hell");
        return 0;
}

|
呃,见识了。。。
打断点打到函数所在行号上,调试时也是停在该行或该行以下的第一句可执行语句/有效行上,和打断点到函数名上效果一样;只是显示断点的位置不同,这个在调试时应该不是很重要吧

|
没什么问题啊,断点自动跳到函数进去以后的第一行有效代码前了,不就是这样么。

|
断点不能设在函数名上,那不是可执行语句。停不来。让CPU接着运行,运行的是printf,不是main

|


6楼正解,本来就是这样的。

    
 
 

您可能感兴趣的文章:

  • 如何使用linux下gdb来调试python程序
  • gdb调试时命令行参数如何输入?比如main(int argc,char **argv)中,我要把一个filename作为argv[1]传入给gdb调试
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • linux gdb: 我在一台机器上编译的程序用GDB可以调试,把程序放到另外一台机器上调试,调试信息就没有了 这是什么原因呢?
  • GDB调试 GDB挂了。。。
  • gdb 如何调试带命令行参数的程序 如 gdb a.out arg1,arg2
  • linux下用gdb调试程序感觉非常不方便,不知道大家使用的什么工具进行调试的呀?
  • 关于GDB无法调试segmentaton fault的问题,调试就死机
  • GDB调试问题,多共享库调试
  • gdb 怎么调试socket程序
  • 程序调试工具 GDB
  • 写调试器(像gdb)的一般思路是什么
  • gdb调试时的文件格式问题
  • gdb调试的问题,求高手。
  • gdb如何进行调试?
  • gdb调试动态链接库
  • 关于gdb调试资料---详细的
  • 哪位兄弟知道?gdb如何调试动态连接库
  • 在linux下除了gdb外还有没其他好用的调试器?
  • 在windows下编译和调试远程GDB BVRDE
  • gdb 调试
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • gdb高手请指教
  • 找高手:gdb脚本传递参数问题
  • 在AIX上安装了MAGIC++,客户端调试时报/bin/sh:gdb not found,请高手指教
  • 关于gdb的问题。请教高手~~
  • 有关linux gdb 调试问题! 高手帮忙 No symbol "*" in current context
  • 问了很多老手不懂,各位高手请进,GDB调试问题。
  • 菜鸟问一菜鸟问题,关于gdb.给为高手帮帮忙吧:-)
  • 使用gcc gdb的大牛进来说说gdb的强大之处在哪。我刚学linux了,vim我确实体会到了其强大之处。而对gcc gdb,体会不到gdb这工具的强大之处。
  • 请教 make gdb-6.4 出现 make[4]: Entering directory `/tmp/gdb-6.4/gdb/doc'
  • gdb 使用问题请教
  • gdb的问题,请教,会者不难,快来拿分
  • 在rh9上无法使用gdb是怎么回事呢
  • 请问,有人研究过gdb-insight源码吗?
  • gdb调试
  • Linux下gdb如何追踪进入子进程??急急7777777777777
  • 如何编译gdb
  • 怎样在windows中编译生成gdb
  • gdb升级的问题
  • 如何阅读GDB源代码?
  • 我的gdb为什么不能设置logging?
  • 使用GDB调试程序,如何正确的向程序传递参数.
  • 用gdb调试时如何将命令行参数传入?
  • 使用gdb 时, command not found , linux里不是应该有这个工具吗?
  • gdb的时候代码 next显示的代码乱了
  • gdb下用shell写环境变量的问题
  • gdb是放在Red Hat Linux 9.0的什么位置?
  • 有关GCC和GDB


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,