断点

断点,调试器的功能之一,可以让程序中断在需要的地方,从而方便其分析。

断点基本信息

中文名 断点 外文名 breakpoint
分    类 计算机调试

常用的断点包括:INT3断点、硬件断点、内存断点、消息断点、条件断点等。

中文词条名:断点

英文词条名:break-point

断点是一个信号,它通知调试器,在某个特定点上暂时将程序执行挂起。当执行在某个断点处挂起时,我们称程序处于中断模式。 进入中断模式并不会终止或结束程序的执行。执行可以在任何时候继续。

CPU有一个单独的执行序列,会一条指令一条指令的顺序执行。要处理类似IO或者硬件时钟这样的异步事件时CPU就要用到中断。硬件中断通常是一个专门的电信号,连接到一个特殊的“响应电路”上。这个电路会感知中断的到来,然后会使CPU停止当前的执行流,保存当前的状态,然后跳转到一个预定义的地址处去执行,这个地址上会有一个中断处理例程。当中断处理例程完成它的工作后,CPU就从之前停止的地方恢复执行。

断点模式可以看作一种超时。所有元素(例如,函数、变量和对象)都保留在内存中,但它们的移动和活动被挂起了。在中断模式下,您可以检查它们的位置和状态,以查看是否存在冲突或 bug。您可以在中断模式下对程序进行调整。例如,可以更改变量的值。可以移动执行点,这会改变执行恢复后将要执行的下一条语句。在 C 、C# 和 Visual Basic 中,甚至可以在中断模式下对代码本身进行更改(使用一种称为“编辑并继续”的强大功能)。

断点提供了一种强大的工具,使您能够在需要的时间和位置挂起执行。与逐句或逐条指令地检查代码不同的是,可以让程序一直执行,直到遇到断点,然后开始调试。这大大地加快了调试过程。没有这个功能,调试大的程序几乎是不可能的。

断点造价信息

市场价 信息价 询价
材料名称 规格/型号 市场价
(除税)
工程建议价
(除税)
行情 品牌 单位 税率 供应商 报价日期
视频压缩断点续传软件 查看价格 查看价格

13% 国科城市大脑(北京)科技有限公司
断点式塑壳断路器 品种:塑料外壳式断路器;电压等级(KV):0.69;说明:(0.4-1.0)In;额定电流(A):400;产品极数(P):3+N;额定极限短 查看价格 查看价格

华五

13% 上海华通电气有限公司温州办
断点式塑壳断路器 品种:塑料外壳式断路器;电压等级(KV):0.4;额定电流(A):200;产品极数(P):4;额定极限短路分断能力Icu(kA):36;额定 查看价格 查看价格

华五

13% 上海华通电气有限公司宁波办
断点式塑壳断路器 品种:塑料外壳式断路器;电压等级(KV):0.69;额定电流(A):32;产品极数(P):4;额定极限短路分断能力Icu(kA):8;额定运 查看价格 查看价格

华五

13% 上海华通电气有限公司宁波办
断点式塑壳断路器 品种:塑料外壳式断路器;电压等级(KV):0.4;额定电流(A):125;产品极数(P):3;额定极限短路分断能力Icu(kA):150;额 查看价格 查看价格

华五

13% 上海华通电气有限公司宁波办
断点式塑壳断路器 品种:塑料外壳式断路器;电压等级(KV):0.4;额定电流(A):63;产品极数(P):3+N;额定极限短路分断能力Icu(kA):36;额 查看价格 查看价格

华五

13% 上海华通电气有限公司宁波办
断点式塑壳断路器 品种:塑料外壳式断路器;电压等级(KV):0.4;额定电流(A):125;产品极数(P):3+N;额定极限短路分断能力Icu(kA):100 查看价格 查看价格

华五

13% 上海华通电气有限公司宁波办
断点式塑壳断路器 品种:塑料外壳式断路器;电压等级(KV):0.69;说明:(0.4-1.0)In;额定电流(A):630;产品极数(P):3+N;额定极限短 查看价格 查看价格

华五

13% 上海华通电气有限公司温州办
材料名称 规格/型号 除税
信息价
含税
信息价
行情 品牌 单位 税率 地区/时间
暂无数据
材料名称 规格/需求量 报价数 最新报价
(元)
供应商 报价地区 最新报价时间
视频压缩断点续传软件 -|1套 1 查看价格 国科城市大脑(北京)科技有限公司 广东   2021-10-20
负荷隔离开关 (模块型双可视断点) 容量160A 4极|4055个 4 查看价格 成都其川实业有限公司 四川  成都市 2015-11-09
负荷隔离开关 (模块型双可视断点) 容量32A 3极|9026个 4 查看价格 成都其川实业有限公司 四川  成都市 2015-09-15
负荷隔离开关 (模块型双可视断点) 容量32A 3+N极|9249个 4 查看价格 成都其川实业有限公司 四川  成都市 2015-07-20
负荷隔离开关 (模块型双可视断点) 容量160A 3极|747个 4 查看价格 成都其川实业有限公司 四川  成都市 2015-06-04
负荷隔离开关 (模块型双可视断点) 容量80A 3极|8042个 4 查看价格 成都其川实业有限公司 四川  成都市 2015-05-30
负荷隔离开关 (模块型双可视断点) 容量200A 4极|7012个 4 查看价格 成都其川实业有限公司 四川  成都市 2015-05-28
负荷隔离开关 (模块型双可视断点) 容量40A 3极|6089个 4 查看价格 成都其川实业有限公司 四川  成都市 2015-11-09

断点也可以在一次调试中设置断点,下一次只需让程序自动运行到设置断点位置,便可在上次设置断点的位置中断下来,极大的方便了操作,同时节省了时间。

断点常见问题

  • 断点调试

    解决方法及步骤:打开Devcpp,点击菜单-文件-新建-项目,打开“新项目”对话框。2.  选择 Console Application,语言选择c++,名称输入DevcppDemo。3. ...

  • 梁-打断点

    为什么要打断?

  • 测电笔上的断点测试的断点是什么意思

    那种电笔是感应式电笔,断点测试和直接测验各有一个按钮,用来测量电压时,按住直接测验按钮,再用笔尖接触火线就可以测量电压,电压会显示在液晶屏上。如果用来测量一段通电绝缘导线内部的断点时,按住断点测试按钮...

断点文献

自制简易线路断点检测装置 自制简易线路断点检测装置

格式:pdf

大小:680KB

页数: 6页

评分: 4.5

自制简易线路断点检测装置

立即下载
论光缆线路断点查找 论光缆线路断点查找

格式:pdf

大小:680KB

页数: 1页

评分: 4.4

光缆线路容易出现松鼠咬断、洪水冲断、施工挖断等线路中断事故,只有使用正确的工具,运用科学的方法,才能及时查找先缆断点,方便后续抢修工作的开展。此外,建立健全各项雏护资料也起着关键作用。

立即下载

1.显示当前gdb的断点信息:

(gdb) info break

他会以如下的形式显示所有的断点信息:

Num Type Disp Enb Address What

1 breakpoint keep y 0x000028bc in init_random at qsort2.c:155

2 breakpoint keep y 0x0000291c in init_organ at qsort2.c:168

删除指定的某个断点:

(gdb) delete breakpoint 1

该命令将会删除编号为1的断点,如果不带编号参数,将删除所有的断点

(gdb) delete breakpoint

禁止使用某个断点

(gdb) disable breakpoint 1

该命令将禁止断点1,同时断点信息的 (Enb)域将变为 n

允许使用某个断点

(gdb) enable breakpoint 1

该命令将允许断点1,同时断点信息的 (Enb)域将变为 y

清除源文件中某一代码行上的所有断点

(gdb)clear number

注:number 为源文件的某个代码行的行号

2.设置条件断点

例子:

#include
 
  intmain(void)
{
inti=0;
intsum=0;for(i=1;i<=200;i  )
{
sum =i;
}printf("%d
",sum);
return0;
}
 

gdb可以设置条件断点,也就是只有在条件满足时,断点才会被触发,命令是“break … if cond”。以上面程序为例:

(gdb)start
Temporarybreakpoint1at0x4004cc:filea.c,line5.
Startingprogram:/data2/home/nanxiao/aTemporarybreakpoint1,main()ata.c:5
5inti=0;
(gdb)b10ifi==101
Breakpoint2at0x4004e3:filea.c,line10.
(gdb)r
Startingprogram:/data2/home/nanxiao/aBreakpoint2,main()ata.c:10
10sum =i;
(gdb)psum
$1=5050

可以看到设定断点只在i的值为101时触发,此时打印sum的值为5050。

break命令(可以简写为b)可以用来在调试的程序中设置断点,该命令有如下四种形式:

break line-number 使程序恰好在执行给定行之前停止。

break function-name 使程序恰好在进入指定的函数之前停止。

break line-or-function if condition 如果condition(条件)是真,程序到达指定行或函数时停止。

break routine-name 在指定例程的入口处设置断点

如果该程序是由很多原文件构成的,你可以在各个原文件中设置断点,而不是在当前的原文件中设置断点,其方法如下:

(gdb) break filename:line-number

(gdb) break filename:function-name

要想设置一个条件断点,可以利用break if命令,如下所示:

(gdb) break line-or-function if expr

例:

(gdb) break 46 if testsize==100

从断点继续运行:continue 命令

在字符发生器面板的右上方,Step键的下面,可插入一个中断点检查程序运行到该处的结果等。要想在程序中设制中断点,首先要在16进制宇信号编辑窗内(宇信号编辑窗)选择一个单元,然后单击Breakpoint键,断点就设制完成。当字符发生器按照地址顺序轮流输出各单元的宇时,遇到中断点单元就会自动停止(中断)码流的输出。如果是周期性的输出方式,需要单击Cycle键才会继续输出;如果是猝发输出方式,需单击Burst才会继续。要取消一个中断点,点击字信号编辑窗中设置的中断点单元即可。电子仿真工作台允许设置多个中断点,中断点功能键设置的断点只对周期性Cycle输出和猝发性Burst输出码流有效。

断点相关推荐
  • 相关百科
  • 相关知识
  • 相关专栏