问题标签 [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.
debugging - 构建 Linux 内核映像 (vmlinux) 以使用 DWARF3 而不是 DWARF4
我正在开发一个依赖于劳特巴赫 JTAG 调试器硬件和软件的项目,对目标 JTAG 电缆的支持于 2011 年 7 月结束。我们在 omap2 处理器上使用 Linux 2.6.33 内核。我们正在使用 gcc 4.9.2 构建内核映像(不确定 bintools 的版本)。
对于那些不熟悉劳特巴赫如何为其软件授权的人,目标电缆(连接调试盒和目标)带有支持合同日期。任何版本的 Lauterbach Trace-32 软件在支持期结束之前和之前都可以使用,但是在电缆支持结束之后的任何版本都可以使用,每个会话演示期只有 30 分钟。我们正在通过我们的采购流程来更新电缆的支持合同,但在完成之前(可能需要几个月),我们仍然坚持现有的。
对于 2017 年 7 月之前发布的 Trace-32 调试器软件的最新版本,我们使用的工具链生成的调试信息似乎太新了。尝试使用以下命令加载内核映像 (vmlinux) 的符号:
失败并显示类似以下的消息:
当然,最简单的解决方案是更新到支持我们工具链生成的任何 ELF/DWARF 组合的 Trace-32 软件的第一个版本。我们知道最新版本的作品,但我们的电缆不支持该版本,并且直到我们的采购人员确定这是测试设备还是软件(它们来自不同的预算)。
在接下来的几个月里,我们需要一个变通办法。我正在寻找以下内容之一:
- 告诉工具链生成与调试器软件兼容的调试信息的某种方式
- 将我们的工具链生成的 vmlinux ELF/DWARF 文件转换为与我们被迫使用的 Trace-32 版本(R.2010.11.000028724)兼容的早期 ELF/DWARF 格式版本的某种方法。
- 我们没有想到的问题的任何其他解决方案
我提前感谢大家的帮助。
编辑:我不能 100% 确定工具链是生成 DWARF3 还是 DWARF4,所以我可能需要制作 ELF/DWARF2 “vmlinux”
remote-access - 处理意外的 Lauterbach T32-Remote API 连接中止
假设您正在使用或开发 T32-Remote API 的自动化测试。在这种情况下,C-API 被包装到 Java 中。
连接初始化为:
之后,测试开始并被用户意外中止而没有调用:
如果您现在再次重新启动测试,这将导致T32_Attach()
返回 -1 (T32_ERR_COM_RECEIVE_FAIL) 时出现连接错误。第二次重新启动不会导致任何问题。
有什么方法可以从远程 API 中重置 Trace32?关闭程序并再次打开它或再次重新启动测试不是一种选择。
trace32 - 如何在 Trace 32 中查看调用跟踪
谁能帮助我们在 Trace 32 调试器中查看调用跟踪。我记得这样的选项在 UDE 调试器中可用。Trace32 中是否也提供此类选项。
示例:-当中断发生时,我想知道在到达断点之前依次调用了所有函数(如果代码的某些部分有断点)。
trace32 - 如何在 Trace 32 中放置具有逻辑条件的断点
我想设置一个断点,当两个变量包含某个值时停止我的应用程序。例如,当 x==10 和 y==11 时停止执行。
如何在劳特巴赫 TRACE32 中实现这一目标?
breakpoints - TRACE32 断点问题
我有一个运行 Linux 和其他东西的开发板。我启动电路板并加载 Linux 符号,并将断点放在已知位置。虽然断点被击中,但在 2 秒内,电路板的状态从“断点停止”变为“正在运行”。这真的给了我一个问题,因为我无法正确调试。
我错过了任何 TRACE32 断点设置还是特定于板?
ctypes - WindowsError:异常:访问冲突读取 0x00007FFC00000000
我正在运行一个使用 Trace32 的程序,当我运行该程序时,我在 trace32.py 中的 tapAccessShiftRaw 方法中出错(这在 trace32 安装中)并得到上面的错误。我一直在查看与此问题相关的一些不同帖子,并尝试了以下帖子中提到的内容:Python:WindowsError:异常:访问冲突读取 0x00000000 或 “WindowsError:异常:访问冲突......” - ctypes 问题
但不幸的是,这些解决方案似乎都没有帮助。我在 Windows 10 上运行它。任何关于如何调试此问题的建议将不胜感激。
trace32 - Trace32 Snooper.List 数据仅以十六进制显示
在使用 snooper.state 记录变量后,我正在使用 trace32 SNOOP.List。但是,在列表中我只能看到十六进制格式的数据。有没有办法以其他格式查看该数据,例如 float32?
trace32 - Lauterbach Trace32 加载精灵到 NXP MC9S12ZVML128
我正在尝试编写一个 PRACTICE 脚本来加载带有预构建(.elf 格式)应用程序的 MCU MC9S12ZVML128 并启动它进行调试。我的一般做法是基于demo文件,位于:C:\T32\demo\m68hc12\flash\flash.cmm
我正在使用 BDM。
我的脚本,基本上是这样的:
加载过程中脚本执行失败,出现“数据对齐错误”。elf 使用 Free Scale 的“s12lisa”编译器编译。
我猜我的脚本缺少正确的内存配置 - 一些地址映射如下:
所以我的问题是:
如何找出正确的内存配置?有人看过关于 S12ZVML MCU 的更全面的演示 PRACTICE 脚本吗?我的整体方法是否合理……?
谢谢你。
trace32 - 检查首先到达哪个断点。用于测试自动化的 trace32 工具箱劳特巴赫
基本上我有两个断点,比如说 A 和 B。我为自动化测试编写了一个 .cmm 脚本,我想知道你怎么能看到我在断点 B 之前到达断点 A。基于这个假设有条件通过或测试失败。下面的代码仅显示是否已到达断点并且它们已到达。
trace32 - 到达断点之前的运行时间?
我有一个带有断点 A 的脚本,我想知道是否是一个函数,它显示到达断点之前的运行时间(手动你在 Misc Runtime 看到它)。假设如果它在 10 毫秒处命中则通过,如果更多则失败。当前到达断点的代码是: