在keil调试的过程中,会出现部分函数断点打不上去、单步调试step over功能无法使用的情况。造成该情况的主要原因可能为编译时使用的优化等级过高,导致其调试信息失真的问题。

解决办法,打开魔术棒->c/c++->optimization ->-O0(不优化,保证源码与编译出的汇编完全对应,以保证调试信息的完整性和良好的调试体验)

问题示例:

如图可以看到在高优化等级下,其部分汇编指令与其他模块公用。(此部分位于函数入口位置)这也是导致调试信息失真的原因,而在O0优化等级下,汇编指令与源代码一一对应。不会出现调试信息失真。

参考资料:

[1]:调试异常说明:https://www.keil.com/support/docs/3902.htm

[2]:优化等级说明:https://www.keil.com/support/man/docs/armclang_intro/armclang_intro_fnb1472741490155.htm

单步调试_keil for arm 调试时无法单步运行及打断点相关推荐

  1. STM32 ARM调试问题总结

    文章转载自:http://xfjane.spaces.eepw.com.cn/articles/article/item/77908 基于ADS的ARM调试有关问题总结 1.  在添加文件的过程中你可 ...

  2. pycharm 调试(debug)模式时界面上的 mute breakpoint 是什么意思?(239)

    mute breakpoint 的作用是程序在debug 模式时,执行到任何一个断点处,mute breakpoints 能让所有断点静音,点击执行,程序就能快速执行结束. 参考文章:idea单步调试 ...

  3. ARM调试(2):在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互

    在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互 文章目录 在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互 1. ...

  4. keil无法单步c语言,在keil单步调试的时候,总调试进不了头文件(单步),直接嗖的一下就飞到了函数末尾...

    最近有个项目,在keil单步调试的时候,总调试进不了头文件(单步),直接嗖的一下就飞到了函数末尾,于是找了个别人写的,在实物上验证过的程序,发现也一样进不了头文件,源文件如下, 按十六个健   依次显 ...

  5. 关于IAR的一些总结 -- ARM调试和Flash调试的区别

    作者:jicheng0622 最近一直埋头于毕业论文的撰写当中,真是有种"两耳不闻窗外事,一心只写毕业论文"的感觉啊.成天大眼对小眼地面对着word.viso和知网客户端等等文字编 ...

  6. 最低成本的ARM调试解决方案——有关于Wiggler、H-Jtag、OpenOCD、GDB

    origin: http://blog.sina.com.cn/s/blog_70bb32080100lx1u.html 又是一个多月没有动这个Blog嘿嘿,我发现一个有趣的现象,我的Blog在每年的 ...

  7. 使用openocd调试Linux内核,OpenOCD-JTAG调试

    title: OpenOCD-JTAG调试 tags: ARM date: 2018-10-13 23:36:28 Todo [ ] JTAG 调试linux内核 [ ] linux下使用OpenOC ...

  8. 使用openocd调试Linux内核,OpenOCD-JTAG调试(示例代码)

    目录 title: OpenOCD-JTAG调试 tags: ARM date: 2018-10-13 23:36:28 --- Todo [ ] JTAG 调试linux内核 [ ] linux下使 ...

  9. android+反调试+方案,Android反调试笔记

    1)代码执行时间检测 通过取系统时间,检测关键代码执行耗时,检测单步调试,类似函数有:time,gettimeofday,clock_gettime. 也可以直接使用汇编指令RDTSC读取,但测试AR ...

最新文章

  1. 【论文解读】传统图像处理与深度学习又一结合:时空多尺度非局部自相似集成视频超分...
  2. 培养这10个习惯,你就离UNIX高手更进一步了
  3. java 线程 wait sleep_JAVA线程sleep和wait方法区别
  4. VS2013常用设置和其他
  5. 中国双层超级电容器市场趋势报告、技术动态创新及市场预测
  6. 博客目录 Blog directory
  7. hping3 使用 (构造dos攻击)
  8. 电子电路仿真软件中文版_汽车电子EMC仿真简介
  9. 记录CSDN账号被盗事件
  10. android11更新了什么,一加8安卓11更新了什么 一加8安卓11更新内容
  11. 用邻接表dfs和bfs图
  12. SQLZOO练习题(3)
  13. 干货 | 呆滞库存(Slow moving)产生原因分析和预防措施
  14. OpenCV计算机视觉编程攻略第2版pdf
  15. Android检测模拟器
  16. R语言生存分析中的OR值是什么?如何解读?
  17. 计算机组成原理时序发生器qd,计算机组成原理—微程序控制器组成实验
  18. 用C语言做一个计算两个数字相乘的程序。(第一个与用户交互的C语言程序!!!!)
  19. 【备战十四届蓝桥杯 | 开篇】如何高效备战蓝桥杯
  20. 清华张长水教授:系统了解图像识别与机器学习

热门文章

  1. Python3.5源码分析-sys模块及site模块导入
  2. fastText的原理剖析
  3. 网络工程师_记录的一些真题_2007下半年上午
  4. Windows禁止启动某个程序!偷偷禁止,别人就打不开。。。比如,微信 LOL 吃鸡 爱奇艺
  5. 还在用肉眼找不同吗?这个技术轻松搞定
  6. 【分享】计算机视觉方向必备opencv基础知识总览
  7. 深度神经网络是否过拟合?
  8. 2018 百越杯 pwn(format WriteUp)
  9. 第四章:Spring项目文件上传两种方式(全解析)
  10. Unity3d中SendMessage 用法