关于GDB的问题

zzbwang 2005-07-25 08:38:13
我使用GDB调试程序,进入GDB后马上在main()函数的第一条语句设置一个断点,然后输入run命令运行,程序没有停下来,而是直接退出,说程序的返回值为01。有没有人遇到过这个问题,应该怎么解决啊?特别着急
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzbwang 2005-07-28
  • 打赏
  • 举报
回复
我查到原因了,是有一个类的实例是全局变量,所以在main()函数之前构造,而在构造函数中要打开一个配置文件,由于软件配置的问题,这个配置文件缺失,导致程序调用exit()函数退出。
feny911 2005-07-25
  • 打赏
  • 举报
回复
呵呵,我也想知道
帮你顶
zzbwang 2005-07-25
  • 打赏
  • 举报
回复
代码有几万行啊,将近300个文件,是用C++写的。在两台机器上可以正常运行、调试,有4台机器不行,而且这些机器都是完全一批,配置相同。这个程序与硬件相关的只有libpcap,其它部分除写文件外都没有操作硬件。这个程序使用了多线程。我把gdb的提示写出来吧:
(gdb)br 26
(gdb)run
Starting program /home/vane/tashan/tashan
[New Thread 1075056128 (LWP 4671)]

Program exited with code 01.
(gdb)
feny911 2005-07-25
  • 打赏
  • 举报
回复
直接在main()上设断点吧

至于你的程序为什么会出现这样的问题
请先贴出代码

23,125

社区成员

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

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