问题标签 [trace32]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
trace32 - TRACE32 分段错误和/或程序意外结束后的完整回溯
在 TRACE 32 中出现分段错误或程序意外结束后是否可以看到完整的回溯。就像在 bt 命令之后的 DDD 中一样?
我正在将很多源代码合并到一个项目(软件更新)中并不断重置目标,想知道最后一个函数是什么。
有一个选项 Stackframe 或 Stackframe with locals 但它仅在程序运行时才有效。
提前致谢。
embedded - trace32 data.load.elf 错误“验证地址 NSX:0x8000 处的错误”
这是我第一次使用 Trace32,当我尝试执行此命令时,我试图在 arm 目标上刷新一个简单的 C 程序(据我所知,此命令会刷新目标但不确定?)。
我收到以下错误:
验证地址 NSX:0x8000 处的错误
我使用以下命令来编译和链接代码:
如何刷新代码并进行调试?逐步执行每条指令
谢谢
caching - Lauterbach trace32:如何在缓存区域使用断点
我最近正在调试一个 Cortex-M4 程序,该程序的文本部分位于缓存的内存区域。连接到设备后,我正在尝试设置软件断点。可以命中断点并停止 CPU。但是,我无法进行任何进一步的调试(STEP,或设置另一个断点并运行),PC 总是坚持第一个断点。
问题可能是因为缓存。当软件断点被命中时,调试器应该已经将物理内存区域改回原来的值,但是指令缓存没有更新。所以 CPU 一直执行断点操作码,永远不会向前移动。
ARM 文档在此链接中有如下描述
调试器无法访问指令缓存。因此,调试器对内存的可缓存、可执行区域的访问可能与处理器指令端可见的指令不一致。
但是它没有给出解决方案。
我正在考虑在断点命中后手动使指令缓存无效。尝试使用 trace32cache clean IC
命令,但它说该命令已锁定。不确定这是许可证问题还是 Cortex-M4 不支持该命令。
有没有人有经验来处理这个?
trace32 - 如果启用断点,Lauterbach Trace 32 ICE 再次进入 main
我是 Lauterbach 调试器 (Trace32) 的新手,我的调试似乎有些问题。
就我而言,每次我进入断点并在该函数中提前几步时,控件都会返回到 main。我知道它会回到 main,因为我在 main 有一个断点。
然后当我说再次运行时,除非我再次加载批处理文件,否则它无法运行。
我试过在没有断点的情况下运行它,它运行良好。
一些细节:
Trace 32 控制器:H8/3337
我使用 USB 进行调试
gdb - Trace32 命令从 ELF 文件中读取给定地址的符号名称
我使用 T32 加载 bin 文件和 elf 并编写脚本以从 ELF 文件中提取 Pc 、 Lr 寄存器值。现在我有了地址,例如,PC 的地址是 0xccccdddd。现在我需要得到对应的符号。我运行 gdb 并使用gdb info symbol 0xccccdddd 并获得了符号名称。但我需要知道 T32 本身是否有任何命令来获取符号名称。或者我可以从诸如readelf或objdump之类的命令中获取符号名称。提前致谢。
trace32 - Trace32:var.string 字符限制
似乎在 t32 var.string() 中最多只能返回 256 个字符。当想要查看大型结构时,这是非常有限的。有没有办法解决这个问题?我目前正在尝试使用 winprint.vv,但这并不容易。
trace32 - 过滤每个 CPU 的跟踪输出
我的 ETM 跟踪被单独捕获并使用 TRACE32 命令 LA.IMPORT 加载(它不直接与设备连接)
如何过滤每个核心的所有记录意味着从 ETB 转储中运行 0,1,2 ... 在单独的窗口中为 LA 方法运行?
是否有提供与从设备捕获相同的跟踪数据的方法?
我尝试使用Trace.Find ,core 0
但它不起作用。它打印记录号但是当我尝试使用时print trace.record.data(recno)
(这里的记录是输出Trace.Find ,core 0
)我没有得到任何记录数据
debugging - TRACE32调试——跟踪函数调用
如何知道哪个函数使用 trace32 调用了特定指令?基于ARM。
好像我知道这条指令 X 有一些错误。如何追溯代码中执行此指令 X 的函数。
此外,如何了解更多关于使用 trace32 的任何帮助将不胜感激。
trace32 - Trace32:设置在 data.dump 上显示的行数的方法
对于 data.dump,您可以使用 /columns 选项设置显示的窗口的列数,但是有没有办法设置显示的行数?
如果我只转储 4 个地址,则窗口很大。