use commands to trace breakpoint

本文介绍如何使用GDB调试工具,在特定条件下设置断点并查看变量状态。通过实例演示了如何在函数`func`中当参数`a`大于10时暂停执行,并观察变量`c`的值。

gdb commands can be used to execute gdb commands after a breakpoint occurred.

Take this as example .

#include <stdio.h>

int func(int a, int b, int c) {
  return a + b - c;
}

int main(int argc, char *argv[]){
  int i = 0;

  for (; i < 100; i++){
    func(i, i++, 1);
  }
  return 0;
}

we want to break func when a > 10 and checkout variable c

(gdb) break func if a > 10
Breakpoint 1 at 0x80483f0: file test-me.c, line 4.
(gdb) commands
Type commands for breakpoint(s) 1, one per line.
End with a line saying just "end".
>print a
>end
(gdb) r
Starting program: /home/alloc/test/a.out

Breakpoint 1, func (a=11, b=10, c=1) at test-me.c:4
4      return a + b - c;
$1 = 11
(gdb) quit



Solver failed when solving following set of constraints rand svt_axi_transaction::burst_size_enum burst_size = svt_axi_transaction::burst_size_enum::BURST_SIZE_256BIT; // rand_mode = OFF constraint slave_burst_size // (from this) (constraint_mode = ON) (/project/PANGU_FM/work/xiaojh/PANGU_FM/trunk/dv/vrf/hnic/env/cust_svt_axi_slave_transaction.sv:33) { (burst_size == svt_axi_transaction::burst_size_enum::BURST_SIZE_64BIT); } ======================================================= Note-[CNST-SATE] Standalone test extracted A standalone test-case for this failure has automatically been extracted from randomize serial 68 partition 9. To reproduce the error using the extracted testcase, please use the following command: cd /project/PANGU_FM/work/xiaojh/PANGU_FM/trunk/dv/vrf/hnic/sim/snps_m0/simv.cst/testcases; vcs -sverilog extracted_r_68_p_9_inconsistent_constraints.sv -R To reproduce the error using the original design and verbose logging, re-run simulation using: simv +ntb_solver_debug=trace +ntb_solver_debug_filter=68 To reproduce the error using the original design and debug the error with Verdi/DVE: 1. re-compile the original design with -debug_access+all, if not already done so % vcs -debug_access+all <other options> 2. re-run the simulation interactively with -gui/-verdi % simv -gui/-verdi <other options> 3. enter the following commands to begin interactive constraint inconsistency debug within Verdi/DVE I. set the breakpoint: verdi/dve> stop -solver -serial 68 II. run the simulation till it stops: verdi/dve> run III. step in the constraint solver: verdi/dve> step -solver
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值