当前位置: 技术问答>linux和unix
求助!gdb调试程序
来源: 互联网 发布时间:2016-08-27
本文导语: 最近做这个服务器程序实在很头疼,到处都是问题.... 这个服务器程序运行在linux上,相当于是个中转网络代理. 这个程序我刚接受,据说前一个人改过哪忘了,现在客户端程序连不上目标主机.查了好几天,我估计是能收到...
最近做这个服务器程序实在很头疼,到处都是问题....
这个服务器程序运行在linux上,相当于是个中转网络代理.
这个程序我刚接受,据说前一个人改过哪忘了,现在客户端程序连不上目标主机.查了好几天,我估计是能收到客户端的连接,但是转发远程主机的问题.目前知道总是返回值拒绝,然后关了连接.
可这个返回值的变量是一个结构体中的全局变量.......我不知道到底是哪里导致程序让这个值变为"拒绝"了.
我在makefile里加了 -g ,想用gdb调试,现在有个问题:用GDB中的RUN,程序就直接跳出了.因为这个程序的启动是有参数的.
like:/etc/init.d/*** start|stop....
新手,请教这里的高人了.
这个服务器程序运行在linux上,相当于是个中转网络代理.
这个程序我刚接受,据说前一个人改过哪忘了,现在客户端程序连不上目标主机.查了好几天,我估计是能收到客户端的连接,但是转发远程主机的问题.目前知道总是返回值拒绝,然后关了连接.
可这个返回值的变量是一个结构体中的全局变量.......我不知道到底是哪里导致程序让这个值变为"拒绝"了.
我在makefile里加了 -g ,想用gdb调试,现在有个问题:用GDB中的RUN,程序就直接跳出了.因为这个程序的启动是有参数的.
like:/etc/init.d/*** start|stop....
新手,请教这里的高人了.
|
进入GDB后可以用"set args"来指定运行时参数,如:
set args 10 20 30
set args 10 20 30
|
/etc/init.d/*** 是一个脚本吧。
gdb的时候。直接
run start
gdb的时候。直接
run start
|
比如说你原来的运行时main -h -c
那么gdb main之后
用r -h -c就可以了
那么gdb main之后
用r -h -c就可以了