导航:首页 > 软件知识 > 为什么有些程序不能加断点

为什么有些程序不能加断点

发布时间:2022-12-10 10:28:04

① 谁用过IAR Embedded Workbench,为什么有时不能设置断点

断点设置的时候,这段程序必须是机器编译过并且可执行的,你可以从这个方面找一个原因。还有一个就是IAR本身对于赋值语句,判断语句之类的语句就不能设置断点,我也是今天才遇到的,具体原理不明。你也可以这样想一下。祝你解决问题。

② keil4中调试模式不能插入断点

调试时
关闭汇编窗口,看看黄色的箭头是不是在主程序中。
如果是的话,选择某一条执行语句,按
f9键

点击工具栏的
实心圆点
添加断点。
不能插入断点,也可以,先清除所有断点,工具栏上有按钮,然后插入一个,可能是你的断点太多了。

③ keil5 为什么好多指令不能打断点

在一定级别的优化之后,有些源程序代码行根本就没有对应的编译内容了,自然也就没办法打断点。
优化级别调高以后,调试的策略也要对应变化,以汇编代码段为准。

④ C#有的行能添加断点,有的不能

能添加断点的行都是程序能单步执行(F11)到的地方,但是这里的行和我们写代码的行不是一个概念

比如我写了很大一个LINQ方法,我希望把它们分行显示以方便阅读;虽然我们能按Ctrl+G到达这些行,但是它们其实只在第一个字符所在的那一行;因为如果你后面的行报错了,程序提示的错误行号还是第一个字符所在的行
还有表示代码范围的{},左右花括号也是程序无法到达的行,所以也不能添加断点

⑤ 请教CCS中不能加断点是怎么回事

在ccs3.3环境下,程序在FLASH中调试。不能设置断点。因为系统默认会设置两个断点。这样在程序段中就不能设置断点了。通过设置,CCS3.3中的选中Option中的Customize。接着选中Program/Project/CIO,子菜单中勾选Do Not Set CIO Breakpoint AT和D

⑥ 用Release版测试程序调试Dll,怎么不能设置断点了

1.使用release程序和debug版本的dll或者debug程序和release版本的dll这种组合,本身不是一种明智的选择,因为这样组合会出现莫名其妙的错误。
2.release设置的断点可能是无效的断点,需要修改工程的属性,使release下可以使用断点,我想系统重新安装,可能导致以前的设置无效,所以建议重新设置一下编译环境。
3.CVPACK : fatal error CK1007: invalid Types table in mole obj\i386\objidl_i.obj
LINK : warning LNK4027: CVPACK error
这个错误可能是由于你的dll没有编译成功。
4.调试release程序可以使用输出日志的形式来测试。

⑦ 请教:为什么keil c51 中不能设断点

keil优化的问题,设置断点的程序段被keil优化掉了,详见keil优化级别说明
级别
说明
0
常数合并:编译器预先计算结果,尽可能用常数代替表达式。包括运行地址计算。
优化简单访问:编译器优化访问8051系统的内部数据和位地址。
跳转优化:编译器总是扩展跳转到最终目标,多级跳转指令被删除。
1
死代码删除:没用的代码段被删除。
拒绝跳转:严密的检查条件跳转,以确定是否可以倒置测试逻辑来改进或删除。
2
数据覆盖:适合静态覆盖的数据和位段被确定,并内部标识。bl51连接/定位器可以通
过全局数据流分
,选择可被覆盖的段。
3
窥孔优化:清除多余的mov指令。这包括不必要的从存储区加载和常数加载操作。当存
储空间或执行时间可节省时,用简单操作代替复杂操作。
4
寄存器变量:如有可能,自动变量和函数参数分配到寄存器上。为这些变量保留的存
储区就省略了。
优化扩展访问:idata、xdata、pdata和code的变量直接包含在操作中。在多数时间没
必要使用中间寄存器。
局部公共子表达式删除:如果用一个表达式重复进行相同的计算,则保存第一次计算
结果,后面有可能就用这结果。多余的计算就被删除。
case/switch优化:包含switch和case的代码优化为跳转表或跳转队列。
5
全局公共子表达式删除:一个函数内相同的子表达式有可能就只计算一次。中间结果
保存在寄存器中,在一个新的计算中使用。
简单循环优化:用一个常数填充存储区的循环程序被修改和优化。
6
循环优化:如果结果程序代码更快和有效则程序对循环进行优化。
7
扩展索引访问优化:适当时对寄存器变量用dptr。对指针和数组访问进行执行速度和
代码大小优化。
8
公共尾部合并:当一个函数有多个调用,一些设置代码可以复用,因此减少程序大小

9
公共块子程序:检测循环指令序列,并转换成子程序。cx51甚至重排代码以得到更大的循环序列。

⑧ 为什么有些程序在调试的时候,不能加断点

你的代码没有编译到程序,可能是条件编译,把这段代码跳过了。

⑨ keil4 仿真stm32程序时 不能插入断点 在汇编语句里可以插入断点,但不能在main()不能插入断点

调试时 关闭汇编窗口,看看黄色的箭头是不是在主程序中。 如果是的话,选择某一条执行语句,按 F9键 或 点击工具栏的 实心圆点 添加断点。 不能插入断点,也可以,先清除所有断点,工具栏上有按钮,然后插入一个,可能是你的断点太多了。

阅读全文

与为什么有些程序不能加断点相关的资料

热点内容
珀莱雅代理费用多少钱 浏览:369
南京朝天宫古玩市场怎么坐车 浏览:527
什么资金产品有万倍杠杆 浏览:948
期货交易规则是什么间接清算制度 浏览:732
如何守住不易的交易 浏览:159
网络助手程序怎么删除 浏览:296
欣桥市场一天的交易量大概有多少 浏览:293
如何查询建行往年交易记录 浏览:513
冰溪医用护肤品怎么代理 浏览:710
产品经理第一要素是什么 浏览:5
期货交易什么时候挂平推单 浏览:587
没技术没意识怎么赢的 浏览:604
皮包代理商怎么样 浏览:935
作品产出人像数据有什么用 浏览:169
jsp有哪些技术 浏览:357
无限极代理怎么加入 浏览:637
黛蕊思是什么产品 浏览:413
九江代理招聘有哪些公司 浏览:382
小程序里的桌球更多游戏如何去掉 浏览:456
菜市场哪些肉类需求大 浏览:409