http://blog.youkuaiyun.com/win_lin/article/details/7515588
1. 编译时使用-g打开调试。-O 0关闭优化,使调试时可以和源码对应。
2. r 启动调试,后面带运行参数。例如:
r --debug --config /etc/fvss/fvss.conf
r === run
3. 设置断点:
b PSService.cpp:56
进入该文件后,可以设置断点到函数:
b CPSService::Instance
b === break
4. 删除断点:
clear 删除当前行的断点。
delete 删除指定编号的断点,默认删除所有断点。
5. 执行方式:
n 单独执行,不进入子函数内部。
s 执行进入子函数内部。
c 继续执行到下一个断点。
u 执行到某行。
jump 跳到某行执行。
return 中止当前执行函数,返回并停在上个调用的函数。可加表达式表示函数的返回结果。
finish 执行完当前函数,返回并停在上个调用的函数。
u === until
n === next
s === step
c === continue
6. 查看:
i s 查看调用堆栈。
p pServiceHost 打印变量的值。
bt === i s
I === info
f === frame
7. 查看源码:
CTRL+X+A 进入和退出文本界面模式。
l 打印源代码。
8. 源码的搜索目录:
cd /home/winlin/fmsoss/src/fvss 改变当前目录到该目录。
directory /home/winlin/fmsoss/src/fvss 将目录添加到搜索目录。
9. 查看变量的值:
p i 打印变量。
p === print
p i=10 设置变量的值
set i=10 设置变量的值
10. 多线程调试:
i threads 查看程序所有的线程。
thread threadno 切换到某个线程。
11. 调用函数:
call function(arg) 可以使用该命令调用某个函数。
12. 调用程序:
shell ls 调用shell命令启动程序。
13. 设置print打印的长度:
set print elements 0
14. 设置进入fork的子进程:
set follow-fork-mode child
15. 忽略某个信号,譬如实时信号35:
handle SIG35

699

被折叠的 条评论
为什么被折叠?



