43、调试器与 Expectk 应用详解

调试器与 Expectk 应用详解

1. 调试器的局限性与基本操作

调试器存在一定的局限性,它不使用单独的控制线程,因此无法对自身命令进行任意自动化操作。例如以下代码示例:

dbg4.7> c
old a = 2
2: set a 3
2. 断点的使用
2.1 断点的一般形式

在调试过程中,表达式和操作可以结合使用,遵循 Tcl 的 if - then 语法(但没有 else)。例如:

dbg2.1> b if {$foo} then {
+>    puts "foo = $foo"
+>}

断点命令的一般形式允许最多指定一个位置(由模式、行号和文件名指定)、一个表达式和一个操作。它们必须按此顺序出现,但所有参数都是可选的。如果提供了位置或者 if 表达式看起来不像是行号和/或文件名,则可以省略 if 关键字;如果 if 表达式已经出现,then 关键字也可以省略。例如:

dbg2.1> b if {$foo} then {
+>    puts "foo = $foo"
+>}
dbg2.2> b {$foo} {
+>    puts "foo = $foo"
+>}

当第一个参数既像行号又像表达式时,它将被视为行号。如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值