b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

gdb 条件断点_gdb break_windows 调试工具(13)

电脑杂谈  发布时间:2017-04-10 23:05:23  来源:网络整理

set args 10 20 30 40 50

show args 命令可以查看设置好的运行参数。

运行环境

path 可设定程序的运行路径。

show paths 查看程序的运行路径。

set environment varname [=value] 设置环境变量。如:

set env USER=hchen

show environment [varname] 查看环境变量。

工作目录

cd 相当于shell的cd命令。

pwd 显示当前的所在目录。

程序的输入输出

info terminal 显示程序用到的终端的模式。

使用重定向控制程序输出。如:

run > outfile

tty命令可以指写输入输出的终端设备。如:

tty /dev/ttyb

4.1.4 调试已运行的程序

调试已经运行的程序有两种方法:

●在Linux下用ps(第一章已经对ps作了介绍)查看正在运行的程序的PID(进程ID),然后用gdb PID格式挂接正在运行的程序。

●先用gdb 关联上源代码,并进行gdb,在gdb中用attach命令来挂接进程的PID,并用detach来取消挂接的进程。

4.1.5 暂停/恢复程序运行

调试程序中,暂停程序运行是必需的,gdb可以方便地暂停程序的运行。可以设置程序在哪行停住,在什么条件下停住,在收到什么信号时停往等,以便于用户查看运行时的变量,以及运行时的流程。

当进程被gdb停住时,可以使用info program 来查看程序是否在运行、进程号、被暂停的原因。

在gdb中,有以下几种暂停方式:断点(BreakPoint)、观察点(WatchPoint)、捕捉点(CatchPoint)、信号(Signals)及线程停止(Thread Stops)。

如果要恢复程序运行,可以使用c或是continue命令。

设置断点(BreakPoint)

用break命令来设置断点。有下面几种设置断点的方法:

break

在进入指定函数时停住。C++中可以使用class::function或function(type,type)格式来指定函数名。

break

在指定行号停住。

break +offset

break -offset

在当前行号的前面或后面的offset行停住。offiset为自然数。

break filename:linenum

在源文件filename的linenum行处停住。

break filename:function

在源文件filename的function函数的入口处停住。

break *address

在程序运行的内存地址处停住。

break

该命令没有参数时,表示在下一条指令处停住。

break … if

condition表示条件,在条件成立时停住。比如在循环体中,可以设置break if i=100,表示当i为100时停住程序。

查看断点时,可使用info命令,如下所示(注:n表示断点号):

info breakpoints [n]

info break [n]

设置观察点(WatchPoint)

观察点一般用来观察某个表达式(变量也是一种表达式)的值是否变化了。如果有变化,马上停住程序。有下面的几种方法来设置观察点:

watch

为表达式(变量)expr设置一个观察点。一旦表达式值有变化时,马上停住程序。

rwatch

当表达式(变量)expr被读时,停住程序。

awatch

当表达式(变量)的值被读或被写时,停住程序。

info watchpoints

列出当前设置的所有观察点。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-40594-13.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...