问题标签 [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.

0 投票
1 回答
564 浏览

trace32 - TRACE32 分段错误和/或程序意外结束后的完整回溯

在 TRACE 32 中出现分段错误或程序意外结束后是否可以看到完整的回溯。就像在 bt 命令之后的 DDD 中一样?

我正在将很多源代码合并到一个项目(软件更新)中并不断重置目标,想知道最后一个函数是什么。

有一个选项 Stackframe 或 Stackframe with locals 但它仅在程序运行时才有效。

提前致谢。

0 投票
2 回答
687 浏览

embedded - trace32 data.load.elf 错误“验证地址 NSX:0x8000 处的错误”

这是我第一次使用 Trace32,当我尝试执行此命令时,我试图在 arm 目标上刷新一个简单的 C 程序(据我所知,此命令会刷新目标但不确定?)。

我收到以下错误:

验证地址 NSX:0x8000 处的错误

我使用以下命令来编译和链接代码:

如何刷新代码并进行调试?逐步执行每条指令

谢谢

0 投票
0 回答
446 浏览

caching - Lauterbach trace32:如何在缓存区域使用断点

我最近正在调试一个 Cortex-M4 程序,该程序的文本部分位于缓存的内存区域。连接到设备后,我正在尝试设置软件断点。可以命中断点并停止 CPU。但是,我无法进行任何进一步的调试(STEP,或设置另一个断点并运行),PC 总是坚持第一个断点。

问题可能是因为缓存。当软件断点被命中时,调试器应该已经将物理内存区域改回原来的值,但是指令缓存没有更新。所以 CPU 一直执行断点操作码,永远不会向前移动。

ARM 文档在此链接中有如下描述

调试器无法访问指令缓存。因此,调试器对内存的可缓存、可执行区域的访问可能与处理器指令端可见的指令不一致。

但是它没有给出解决方案。

我正在考虑在断点命中后手动使指令缓存无效。尝试使用 trace32cache clean IC命令,但它说该命令已锁定。不确定这是许可证问题还是 Cortex-M4 不支持该命令。

有没有人有经验来处理这个?

0 投票
0 回答
112 浏览

trace32 - 如果启用断点,Lauterbach Trace 32 ICE 再次进入 main

我是 Lauterbach 调试器 (Trace32) 的新手,我的调试似乎有些问题。

就我而言,每次我进入断点并在该函数中提前几步时,控件都会返回到 main。我知道它会回到 main,因为我在 main 有一个断点。

然后当我说再次运行时,除非我再次加载批处理文件,否则它无法运行。

我试过在没有断点的情况下运行它,它运行良好。

一些细节:

Trace 32 控制器:H8/3337

我使用 USB 进行调试

0 投票
1 回答
1496 浏览

gdb - Trace32 命令从 ELF 文件中读取给定地址的符号名称

我使用 T32 加载 bin 文件和 elf 并编写脚本以从 ELF 文件中提取 Pc 、 Lr 寄存器值。现在我有了地址,例如,PC 的地址是 0xccccdddd。现在我需要得到对应的符号。我运行 gdb 并使用gdb info symbol 0xccccdddd 并获得了符号名称。但我需要知道 T32 本身是否有任何命令来获取符号名称。或者我可以从诸如readelfobjdump之类的命令中获取符号名称。提前致谢。

0 投票
0 回答
108 浏览

trace32 - Trace32:var.string 字符限制

似乎在 t32 var.string() 中最多只能返回 256 个字符。当想要查看大型结构时,这是非常有限的。有没有办法解决这个问题?我目前正在尝试使用 winprint.vv,但这并不容易。

0 投票
1 回答
147 浏览

trace32 - 过滤每个 CPU 的跟踪输出

我的 ETM 跟踪被单独捕获并使用 TRACE32 命令 LA.IMPORT 加载(它不直接与设备连接)

  • 如何过滤每个核心的所有记录意味着从 ETB 转储中运行 0,1,2 ... 在单独的窗口中为 LA 方法运行?

  • 是否有提供与从设备捕获相同的跟踪数据的方法?

我尝试使用Trace.Find ,core 0但它不起作用。它打印记录号但是当我尝试使用时print trace.record.data(recno)(这里的记录是输出Trace.Find ,core 0)我没有得到任何记录数据

0 投票
2 回答
1043 浏览

debugging - TRACE32调试——跟踪函数调用

如何知道哪个函数使用 trace32 调用了特定指令?基于ARM。

好像我知道这条指令 X 有一些错误。如何追溯代码中执行此指令 X 的函数。

此外,如何了解更多关于使用 trace32 的任何帮助将不胜感激。

0 投票
2 回答
121 浏览

trace32 - Trace32:设置在 data.dump 上显示的行数的方法

对于 data.dump,您可以使用 /columns 选项设置显示的窗口的列数,但是有没有办法设置显示的行数?

如果我只转储 4 个地址,则窗口很大。

0 投票
1 回答
328 浏览

jtag - 使用 TRACE32 调试 Linux 内核源时显示 HLL C

我正在使用 Linux 内核 LTS4.4(arm32、cortexa7)进行调试。

我已经成功构建了内核映像以及 vmlinux。

我正在使用 Debugger Lauterbach 和 Trace32 工具。并使用以下命令加载vmlinux内核源

在此处输入图像描述

加载进度成功,但我没有看到任何C 代码(HLL),只有asm

之后,我尝试显示symbol.list.source 。但是,表List是空的。

你们能不能在这方面支持我!谢谢。