是否可以使用符号在 TRACE32 中设置范围断点?

Is it possible to set a ranged breakpoint in TRACE32 using symbols?

我想在TRACE32软件中用符号名设置一个范围断点。通常的语法是这样的
start--end
但取决于我的 ELF,我需要这样的动态范围
0x00--SYM_NAME.

可能吗?什么时候是,怎么样?

感谢进阶


我为 PowerPC 使用 DIAB(现在是 Windriver)编译器,TRACE32 版本是 2013 年 8 月。

TRACE32 区分普通地址和修饰地址(=access class + 地址)。范围允许以下地址组合:

<plain address>--<plain address>
<decorated address>--<plain address>
<decorated address>--<decorated address>

如果您想使用调试符号作为范围结束,您有两种选择:要么将调试符号转换为普通地址,要么确保第一个地址也被修饰。不推荐第二个选项,因为它需要知道使用哪个访问权限 class。

Break.Set 0x0--(ADDRESS.OFFSET(my_func)-1)
Break.Set P:0x0--(my_func-1)

获得所需范围的另一种方法可能是使用部分信息,例如在整个 .text 部分设置断点范围:

Break.Set sYmbol.SECPRANGE(\my_program\.text)

或者从一个部分的开头到某个函数:

Break.Set sYmbol.SECADDRESS(\my_program\.text)--(sYmbol.BEGIN(my_func)-1)