gdb调试问题
1、在不同文件中设置断点
Test
      -prj
      -source
      -include
  编译出的可执行文件tst在prj中,.h在include中 .cpp文件在source中
  gdb tst
  directory ../source
  break snmp.cpp:381
  (gdb) break snmp.cpp:381
  No source file named snmp.cpp.
b CSnmp::Send(int i); 是可以成功的  其实snmp.cpp:378就是这个函数,但是我需要断在这个函数里的某行所以还是需要break snmp.cpp:381 但是就是不行
2、进入一个函数的命令是s   那么出这个函数的命令是???
3、我有可执行程序tst和tst所需要的N个库文件的源代码,请问调试库需要怎么设置(比如 像VC中的依赖关系)
4、gdb如何保存我之前设置的调试规则比如之前说的依赖关系,设置过断点的保存等等
------解决方案--------------------楼主去找些GDB的资料看看吧!
------解决方案--------------------
1、
我测试程序时,直接    break 文件名:行数  
即使是这些源码文件被编译成动态库,也能成功设定断点。
当然,编译时,加上了选项:   -g
在381行之前,加个sleep(2),调试时,当你的程序停顿了,按ctrl+c,中断程序,之后,输入l,回车,看源码,这时,显示的源码应该有CSnmp::Send(int i)这行,直接break + 行数。
2、进入一个函数的命令是s 那么出这个函数的命令是???
step ,用finish直接跳出当前所在函数。
3、调试库的话,就直接调试可执行程序tst,如果出错的地方是库中的,那就是库中的代码运行出错,出错后,用back命令看出错前都调用了哪些函数。
4、这个,没经验,之前考虑到这问题。